[SCM] muse/upstream: Imported Upstream version 2.0~rc1

alessio at users.alioth.debian.org alessio at users.alioth.debian.org
Sat Dec 3 16:29:13 UTC 2011


The following commit has been merged in the upstream branch:
commit 03af87529b0c67cd354a93edf5e587db9cb1fef6
Author: Alessio Treglia <alessio at debian.org>
Date:   Sat Dec 3 17:28:30 2011 +0100

    Imported Upstream version 2.0~rc1

diff --git a/ChangeLog~ b/ChangeLog~
deleted file mode 100644
index d7d3f06..0000000
--- a/ChangeLog~
+++ /dev/null
@@ -1,4903 +0,0 @@
-28.11.2011:
-        - MusE 2.0 release candidate 1 released
-27.11.2011:
-        - fixed invalid read problem in node.cpp: replaced the (ab-)use
-          of a temporary stacked buffer (which was deleted too soon)
-          by the use of a temporary heap buffer (new[])   (flo)
-26.11.2011:
-        - Added config properties for add-track menu, show all, show only visible and property for making visible what you add (rj)
-        - Split behaviour and style configuration to two tabs (rj)
-        - Adding invisible tracks no longer update track-info in arranger (rj)
-        - clicking the background in tracklist and arranger no longer clear focus (rj)
-        - moved configuration items for track visibility to global config (rj)
-        - Added right click quit to channel strips (rj)
-25.11.2011:
-        - fixed segfault when closing and SndFileList had more than 1 entry (flo)
-        - fixed some mismatched deletes (delete vs delete[]) (flo)
-24.11.2011:
-        - Fixed: xml song loading ignores very large text such as with Hexter-DSSI. Reported by jphaenlin. (Tim)
-          Changed all local buffers to QByteArray (for unlimited size). Test OK loading/saving large songs + Hexter-DSSI.
-        - Fixed "Invalid Read/Write"-bug with moving parts past the song's end or past the last track. (flo93)
-          The problem was: when the song was automatically enlargened / a new track has automatically been
-                           created, the song was update()d, and thus songChanged() was called. Within
-                           songChanged(), the PartCanvas clearDelete()d its items list, deleting every
-                           data pointed to by that list. However, right after that, the current loop's
-                           CItem* is still used (which has just been deleted, that is, invalidated.).
-                           In case the loop will go on, there would be even more similar errors.
-          Solution: - Added UndoOp::ModifySongLen-action, and used that one for altering song length.
-                    - changed Song::addTrack() to write into operation groups.
-                      adapted all code using Song::addTrack() accordingly
-                    - changed PartCanvas::moveItem() to support whole lists of operations.
-        - Fixed a small unused-parameter warning (flo)
-        - Updated broken (but unused) UndoOp::typeName() function (flo)
-                    
-23.11.2011:
-        - Fundamental audio engine fixes/changes together with a variety of other fixes. (Tim...)
-        - Process track and plugin dssi controls always now, even if off. Fixed problems adjusting/saving gui values. TODO: Dssi when off.
-        - User is now forbidden to do circular routing. Routing menu items are now disabled according to whether they would cause a loop.
-          Installed anti-circular routing mechanism, allows processing should a circular route actually exist (old files, bugs, deliberate? etc). 
-        - Fixed jack.cpp: Connecting routes. Some code was not checking if routes were JACK_ROUTE types, leading to errors.
-        * Fixed: Soloing system problems. Forgot to solo-chain all the way back to a midi track. Also fixed crashes if soloing a circular route.
-        * Fixed: Aux Tracks. They should 'just work' always now. Required major processing-order changes and routing path support/checking.
-          NOTE: Cannot use a track's aux sends if the track has an input route path from ANY Aux Track! Aux knobs/labels now DISABLED in that case.
-22.11.2011:
-        - Increased contrast for midi event drawing in parts (rj)
-17.11.2011:
-        - Fixed all arranger/pianoroll/drumedit keyboard scrolling. (Tim)
-          Changed PartCanvas and EventCanvas ::keyPress() key scrolling sections. Plus custom behavior tweaks in each case.
-16.11.2011:
-        - Ctrl+click or middle button now sets an absolute value for Knobs (as good as possible without advanced arithmetic) (rj)
-        - Structure operations: Split,Cut,Insert now work on audio tracks. The previous functionality with operating on selected
-          tracks have been split into separate menu items (rj)
-15.11.2011:
-        - Fixed wacky arranger part selection via KB when 'Move single armed track with selection' set. (Tim)
-          Arranger::songChanged() was way too liberal, esp calling partsChanged(). Side benefit: Arranger speed-ups.
-        - Changed internal 'undo' shortcut from ctrl-y to standard shift-ctrl-z. (Tim)
-14.11.2011:
-        - Fixed: Do not clear midi ports upon 'new' (template) or 'import midi'. (Tim)
-          Enabled some old code with which I had problems before, but that was long before 'clearing' fixes. 
-          Remaining TODOS: 'New' Synth.med template still replaces existing midi ports, and only
-           the first port appears to be auto-connected to inputs upon import midi.
-        - fixed ScoreEdit bug: names are removed from the set on close and on delete. (Flo)
-        - indentation fixes in scoreedit.cpp,h and cobject.cpp (Flo)
-        - Removed 18.06.2011 experiment. Do not allow Synths to route to midi track inputs. (Tim) 
-          It worked with MESS so far, allowed recording gui control movement. May prove useful 
-           in future, but is a big auto-routing hassle ATM. Sections marked p4.0.35.
-13.11.2011:
-        - ScoreEdit now saves some default init values (flo)
-        - seems like this fixed some valgrind bugs as well (flo)
-12.11.2011:
-        - fixed "newly created subwins aren't focussed" problem (flo)
-        - when closing a subwin, automatically another (topmost) subwin 
-          gets activated (flo)
-        - fixed "non-subwin topwin-states aren't restored when using
-          'muse2 songfile.med'. (don't know who, probably Tim)
-11.11.2011:
-        -  Fixed all template .med song files. (Tim)
-10.11.2011:
-        - Updated spanish translation by Cristian Ramos (rj)
-        - Fixed meters not updating upon vertically shrinking arranger. (Tim)
-        - Fixed TopWin xml errors such as "MusE: unknown tag <topwin [or tool or arranger] > at line xxxx". (Tim)
-          Used new TopLevelList::findType() in MusE::readToplevels() to find arranger, marker, and cliplist. Was broken !
-          So, arranger now remembers its settings (mostly).
-          TODO: Fix broken default.med file, has serious xml errors. For long time MarkerView hasn't recalled its visibility.
-09.11.2011: 
-        - Further to 02.11.2011: Automatically convert old songs to use new 'fluid_synth' name.  (Tim...)
-        - Added enum Synth::Type (MESS_SYNTH, DSSI_SYNTH etc) and used it throughout, ex. in findSynth(), also in song file.
-          Protects from name conflicts with future MESS, DSSI synths, and simplifies adding future types (say LV2 etc.)
-        - Simplified populateAddSynth(), made it agnostic. No more hard-coded synth type sorting - uses Synth::Type now. 
-        - Fixed settings synth config lists not updated when 'Remove Instance' clicked. Also now shows the type in the lists. 
-        - Fixed regression: No synthesizer patch names were listed.
-07.11.2011:
-        - fixed restore-window-state bug (flo)
-        - fixed dialog translation problem (flo)
-        - Updated spanish translation by Cristian Ramos (rj)
-06.11.2011:
-        - auto-expand fix (flo)
-        - NoteInfo-toolbar fix (flo)
-04.11.2011:
-        - more valgrind fixes (flo)
-02.11.2011:
-        - Fixed new runtime errors "undefined symbol fluid_synth_cc" and "fluid_synth_set_reverb", seen on Ubuntu 11.10 (Tim).
-          MusE "fluidsynth.so" module renamed "fluid_synth.so". Error seems due to required cmakelists LINK_FLAGS line, now removed. 
-          Also removed required LINK_FLAGS line in fluid cmakelists.  
-          PLEASE REMOVE THE OLD fluidsynth.so ! Or uninstall muse before installing again.
-01.11.2011:
-        - Fixed Shortcut translations (flo)
-        - Added a QSplitter to the shortcut dialog (flo)
-31.10.2011:
-        - Translation code fixes and added almost-complete German translation (flo)
-28.10.2011:
-        - Slight fix of midi SMF 1 export. Include meta 0x01 text event comment. (Tim)
-        - Added Automation header in Song::execMidiAutomationCtlPopup().
-        - Code comments cleanup in Song. 
-27.10.2011:
-        - Adapt context menu in arranger after what track types are currently visible there
-          Now it only allows to create the track types which are set to be visible (rj)
-        - Uninitalized value fixes in ScoreEdit (flo)
-26.10.2011:
-        - Changed visibility of utility tracks so they are not seen by default in arranger (rj)
-        - Added a default audio connection in default.med (rj)
-        - More memory access fixes (flo)
-24.10.2011:
-        - Fixed bug #3293339: Midi file export SMF format 0 broken. (Tim)
-          Removed erroneous extra 2 bytes. Allow metas in SMF0 in MidiFile::writeEvent().
-          Fixed very weird timing issue MidiFile::write(). See comments there (hidden problems lurking still?). 
-          Use single MidiFileTrack for SMF0 in MusE::exportMidi(). Added info to export dialog indicating that 
-           SMF 0 grabs the track name and comment from first midi track in arranger. Iterate full tracks list 
-           instead of midis list in MusE::exportMidi(), so that user can rearrange tracks on the fly before exporting. 
-          Some not fully understood useage of meta 0x0F/0x01 text events in MusE::exportMidi(). Hopefully correct...
-        - Memory access fixes (flo)
-22.10.2011:
-        - Catch return in spin boxes and move focus away (rj)
-21.10.2011:
-        - rename fix (flo)
-20.10.2011:
-        - Added missing triplets in quantisation dialog (rj)
-16.10.2011:
-        - Fixed crashes reloading songs having open editors. Previous memleak fixes revealed some problems. (Tim)
-          Installed bool TopWin::deleting(). It is set true when closeEvent() is called in any self-deleting TopWins.
-          Used it to make all such TopWins and their corresponding child canvasses ignore songChanged signals.
-          Test OK so far, multiple reloads of song with all track types, all windows open.
-14.10.2011:
-        - Fixed keyboard navigation in tracks to work with hidden tracks (rj)
-12.10.2011:
-        - Made the plugins aware of namespaces. (Orcan)
-11.10.2011:
-        - Fixed the build of experimental rhythm generator. (Orcan)
-09.10.2011:
-        - Fixed track list midi port popup menu - too many ports listed. Separated empty ports into submenu. (Tim)
-06.10.2011:
-        - SigEdit, up/down arrow in denominator only moves between powers of two (decreased thick headedness), 
-          numerator is no longer validated (rj)
-        - Hopefully last big namespace update. The only namespaces in use are 
-            o MusEGlobal: For global variables
-            o MusECore:   For non-gui classes
-            o MusEGui:    For gui classes
-          One or two more namespaces will be added for the stuff outside the main tree (synti, al, etc) (Orcan)
-        - Fixed python control add-on building. Left it off by default. (Orcan)
-05.10.2011:
-        - SigEdit, up/down arrow in denominator only moves between powers of two, 2,4,8...128 (rj)
-04.10.2011:
-        - More fixes to SigEdit, close on enter, navigate with arrows and / between values, fixed background color, focus (rj)
-02.10.2011:
-        - SigEdit reworked to use two spinboxes, plan on adding Enter/Return detection so the widget will close when 
-          Enter/Return is pressed (rj)
-        - Fixed HUGE massive memory leaks in all things using CItemList, and SndFile, dssi, fluidsynth and other huge leaks. (Tim) 
-          Addition of 'delete' in places hopefully does not introduce any new unforseen instabilities.
-          Result: A song with 20 wave/midi tracks and several dssi, vst and fluidsynths, which leaked HUNDREDS of megabytes,
-           now only leaks about 2 megabytes. TODO: Still some funny business with ALSA, and dssi scanning.  
-          Post-fix LEAK SUMMARY: definitely lost: 259,863 bytes in 356 blocks   indirectly lost: 611,874 bytes in 22,834 blocks
-                                 possibly lost: 180,508 bytes in 5,211 blocks   still reachable: 1,061,068 bytes in 10,522 blocks
-30.09.2011:
-        - Fixed long-standing problem with themes (Ia Ora / Bespin etc) and MusE button icons. Some themes don't support 
-           multiple-pixmap icons. So mute/solo/rec/stereo/thru always showed the same icon. Replaced w single pm icons. (Tim)
-        - Fixed midi strip blank automation box at bottom, too high. (Tim)
-        - Gradient for strip labels. (Hm, too pastel? Had to go top-high. Maybe change colours again Orcan, he he...) (Tim)  
-        - Repaired some non-virtual paintEvent(), resizeEvent(), event() etc. (Tim)
-28.09.2011:
-        - Optimization: Orcan's meters are insanely lightning-fast now.  (Tim)
-          TODO: Fix very slight oversize at bottom upon first showing of mixer.  Workaround: Simply resize vertically.
-          TODO: Redo the VerticalMeter (actually Horz) drawing, else should be easy Horz integration into existing Meter class.
-21.09.2011:
-        - Drawing speed boosts in part canvas. TODO Fix slight dashed border shifting. Do 'hidden' polygons (Tim)
-        - Working on meter speed. WIP. Can enable by commenting out #define _USE_NEW_METERS in meter.cpp (Tim) 
-          Combined with part canvas fixes, meter work so far makes MusE2 near-Muse1 speed when playing big songs
-           with many active mixer strip meters.
-20.09.2011:
-        - Revert the change in coloring of the selected track in tlist. Making full transpaency optional
-          requires more substantial changes. (Orcan)
-        - Update the default config file with the same defaults as in gconfig.cpp. Question: Why do we
-          have defaults defined in multiple places? (Orcan)
-17.09.2011:
-        - Minor namespace fix in osc.cpp. (Orcan)
-16.09.2011:
-        - Fixed errors when ladspa plugins not found while loading. (Tim)
-        - Fixed forgotten bool to pointer conversion in some calls to song::addTrack, createSynthI. (Tim)
-14.09.2011:
-        - added sane configuration defaults to muse (flo93)
-        - several minor fixes (flo93)
-        - added MDI-like and borland-like user interface (flo93)
-        - improved pasting, added dialogs, added "copy in range",
-          changed shortcut keys (flo93)
-        - New namespaces MusEArranger and MusEMixer. (Orcan)
-        - Updated default track colors on arranger. Indicate the selected track with a gradient instead of a
-          separate color. (Orcan)
-        - moved colorRect() and get_paste_len() into utils.cpp. (Orcan)
-        - Updated default colors of transport handles, bigtime foreground, waveedit background, track labels.
-          Made them more pastelish, easier on eyes. (Orcan)
-        - Made horizontal alignment of meter and slider in mstrip consistent with in astrip. (Orcan)
-13.09.2011:
-        *Added: You can now insert new tracks instead of always at the track list end. (Tim)
-          If main menu 'Add track': Inserts before currently selected track, else adds at end.
-          If Track List right-click existing Track Name: New 'Insert track' menu inserts before clicked track.
-          If Track List right-click on empty space, or Mixer 'Create': Adds at end, as usual.
-        - Fixed track selection bug: Track info panel not clearing when clicking empty area. (Tim)
-          Added an emit selectionChanged(0) in TList::mousePressEvent.
-        - Observed: Ancient bug: Track Info doesn't change if selecting multiple tracks in reverse order.
-          Will need to be fixed if/when adding 'multiple track global editing'. 
-        - Made Slider::sizeHint() a const function again, so that the plugin window respects its sizeHint. (Orcan)
-        - Explicitly disabled the scale support in Slider since it wasn't really in use for a while. (Orcan)
-11.09.2011:
-        - Rewrote the rounding function for efficientcy. Moved the function into utils.cpp since it is written
-          for general purpose. (Orcan)
-        - The rounding in the meter is done in paintEvent now. I also enabled Antialiasing to make the corners
-          look nicer. Therefore I had to comment out Qt::WA_OpaquePaintEvent attributes in the meter and the
-          verticalmeter for now. Some testing needed. (Orcan)
-        - Plugin slider color codes are now generated from plugin ID numbers. (Orcan)
-        - Active plugins are colored in green in the rack. (Orcan)
-09.09.2011:
-        - Removed sending of SEQM_ADD_TRACK, SEQM_REMOVE_TRACK, SEQM_CHANGE_TRACK, SEQM_REMOVE_PART, and 
-           SEQM_CHANGE_PART to ALSA midi thread (which waits) from inside Audio::processMsg.
-          Replaced with hand-offs to Song::processMsg. TODO: SEQM_SET_TRACK_OUT_CHAN etc. (Tim)
-        - MidiDevice play and stuck event lists no longer directly accessible from outside -
-           replaced with ::addScheduledEvent and ::addStuckNote. (Tim)
-        - Installed a ring buffer for ALSA MidiDevice play/stuck notes event lists, filled by ::addScheduledEvent 
-           and ::addStuckNote, because ALSA midi is processed in a thread other than audio. (Tim)
-          TODO: processMidi could do stuck notes better by bypassing their insertion in the play event list,
-                 also applies to seek/stop handler block, but I'm not sure about the time comparisons.   
-        - Removed MidiSeq::msgSeek and ::msgStop, and removed calls from Audio::seek and ::stopRolling. (Tim) 
-          Removed Audio::msgShowInstrumentGui and ::msgShowInstrumentNativeGui.
-        - Some more separation of ALSA and Jack Midi, one step closer to configurable choice of either/or. (Tim)
-        - Massive cleanup of audio, midi, mididev, alsamidi, jackmidi, dssi modules. Moved some stuff from 
-           Audio::processMidi into MidiDevice. (Tim)
-        - Test OK here so far, with stress files and complete pre-existing songs, ALSA, Jack, and Synth midi. (Tim)
-          TODO: Restoration of sustain upon play seems broken for a while - try putEvent instead of addScheduledEvent
-           in Audio::startRolling().
-        - Cleaned some namespace change artifacts. Fixed signal/slot mechanism related to bigtime, pianoroll,
-          drumedit. Fixed config file corruption. (Orcan)
-        - Made plugin slider colors fancy, experimental. (Orcan)
-08.09.2011:
-        - Finished namespace MusEWidget. Added namespaces MusEUtil, MusEDialog. (Orcan)
-07.09.2011:
-        - Introducing namespaces. So far, we have MusEApp, MusEGlobal, MusEConfig, and I just started
-          MusEWidget. zynaddsubfx does not crash anymore. (Orcan)
-06.09.2011:
-        - Add licensing information (GPLv2 or later) to source code files. Update FSF mailing address
-          to the most recent one in the existing copyright notices. (Orcan)
-05.09.2011:
-        - Remodel the EffectRack. There is still an ongoing issue with the minimumSizeHint, which I worked
-          around by adding a fixed offset. (Orcan)
-        - Fall back to using Meter's own size functions rather than the event rectangle's size functions
-	  in paintEvent(). The latter caused corruption when toggling mono/stereo. (Orcan)
-04.09.2011:
-        - Remodel the Slider (Orcan)
-        - moved and changed muse.pro file (flo93)
-        - added update_pro.sh and update_translations.sh (flo93)
-        - added paste dialog (flo93)
-        - updated translations (flo93)
-        - moved stuff from functions.cpp out to dialogs.cpp (flo93)
-        - fixed behaviour of movePartsTotheRight(): parts which
-          begin at "start of move" aren't expanded, but moved now (flo93)
-01.09.2011:
-        - Fixed tough old skeleton: Selecting 'previous/next event' in Song::execAutomationCtlPopup now moves cursor
-           with exact frame resolution, all the way through via proper song->setPos > audio->msgSeek rather than
-           song->setPos > set pos[0] etc. There was a bug that it got stuck on too-close points on the graphs. (Tim) 
-        - Reverted controls to full speed (again): Removed too-cautious msgSetVolume, msgSetPan, msgSetPluginCtrlVal. (Tim)
-          Reviewing some other possibly unneeded too-cautious msgXXX audio messages :) 
-          TODO: Fix current automation values (the 'off' value).
-        - Removed unused PanKnob from mixer CMakeLists. (Tim)
-29.08.2011:
-        - Fixed Robert's fixes (flo93)
-        - Fixed audio automation graph editing. And now 'snaps' to discrete integer or bool types. (Tim p4.0.32)
-          All control movements should update display now. Also slightly changed behaviour of Ctrl class. 
-          TODO: Fix some painting corruption, improve discrete display, add transparency etc. etc.
-        - Applied compilation patch to rhythmbase.ui by Jean-Damien Durand. (Tim)
-28.08.2011:
-        - Fixed wierd column expansion for [rec] column by removing autoexpand of the last column. Still
-          something fishy with moving columns (rj)
-27.08.2011:
-        - Changed mousewheel behaviour, vertical scrolling is default and horizontal scrolling (shift) is reversed (rj)
-        - Added fullscreen shortcut to all editors which have full screen action (rj)
-        - Part text editor now closes when focus is lost (rj)
-17.08.2011:
-        - Convert some Qt3 style coding in ComboBox to Qt4 in terms of menu entry handling. (Orcan)
-        - Add mouse wheel support to ComboBox. (Orcan)
-        - Fix AutoType indicator coloring. (Orcan)
-16.08.2011:
-        - More drawing fixes, improved accuracy (grids, timescales, edges, markers guaranteed to align now). (Tim p4.0.30)
-          Much drawing changed to device (pixel) space instead of virtual space, for accuracy.
-        - Fixed display of audio automation graphs. (But not editing). (Tim) 
-        - Fixed unreadable Master Edit tempo scale (on left side), and added toolbar saving and restoring. (Tim p4.0.31)
-15.08.2011:
-        - Remodel the Meter and the VerticalMeter (Orcan)
-13.08.2011:
-        - Make the shininess of the Knob ring a little smarter (Orcan)
-05.08.2011:
-        - Parts having hidden events now drawn using 'jagged' ends and special white edges. (Tim p4.0.29)
-        - Improved border drawing guaranteed to show L/R touching part borders. TODO: Top and bottom borders. (Tim)
-        - Muted parts now show names and events. Filled with a special brush pattern for easy recognition. (Tim)   
-        - Huge changes to PartCanvas::drawItem(). And to all View::XmapXXX methods for better accuracy. (Tim)
-        - Changed bool Part::hasHiddenNotes() to int Part::hasHiddenEvents(). Added int Part::cachedHasHiddenEvents(). (Tim)
-02.08.2011:
-        - Changed behaviour of part clones (flo93)
-
-31.07.2011:
-        - Remodel the Knob (Orcan)
-
-28.07.2011:
-        - speeded up structural operations (flo93)
-        - fixed several heavy bugs in structural operations: (flo93)
-           - global insert freezed muse
-           - global cut and global insert behaved wrong on parts not
-             starting at the zeroth tick
-           - fixed upper_bound vs. lower_bound issues
-        - clicking below the track list now deselects all tracks (flo93)
-        - moved checkRegionNotNull() where it belongs (flo93)
-14.07.2011:
-        - Fixed loading of old songs with synths. (Tim)
-          Added static keyword to array in each synth's oldMidiStateHeader() member. 
-27.06.2011:
-        - Massively speeded up muse by using operation groups (flo93)
-        - Changed behaviour of middle click in all canvases to "delete" (flo93)
-21.06.2011:
-        - Fixed wave editor position and marker drawing corruption. (Tim)
-        - Updated Yamaha m06 IDF file to version 4 by Geoff King. (Tim)
-18.06.2011:
-          (By Tim. Marked as p4.0.27)
-        - Major work, all synthesizers. Sysexes now wrapped in a header MFG ID (0x7c) + synth ID. Fixed leaks, crashes. 
-          Each MESS synth (or just the single DSSI host) now has a unique ID, used in the sysex header.
-          TODOS: Finish DeicsOnze::getControllerInfo. Fix Fluid - must set to High Bank #2 to see any patch names!
-          *NOTE: Some data will now change upon saving a song! Compatibility with old songs is built-in and transparent.
-                 Ask Tim for details. 
-        *Feature: SimpleDrums now FULLY functional including effects. Support old songs + MusE-1 songs, tested OK. 
-        - Fluid soft synth now remembers and displays the font name.
-        - Fixed midi TrackInfo patch name not initializing at position 0 even when value stored, with FluidSynth (possibly others). 
-        - Fixed some leaks, lack of dtors cleanup call when repeatedly loading songs. Should be a weee bit more stable now. 
-        - EXPERIMENT: Midi track input routes can now come from any of the synthesizers! This is a WIP and might change or disappear.
-06.06.2011:
-        - removed (unused) support for disabling the keymap (flo93)
-04.06.2011:
-        - fixed regression with switching ctrl/shift when manipulating
-          items in canvas. drag+shift limits movement, drag+ctrl copies (rj)
-        - changed behaviour of middle click in all canvases to "delete" (flo93)
-02.06.2011:
-        - the score editor now allows batch-movements, that is,
-          you can transpose or move the whole selection and not
-          only single notes (flo93)
-        - the functions now return as boolean, if they have triggered
-          undo (flo93)
-        - applied another patch from WillyFoobar: moved Q_OBJECT
-          to the top of each class definition, where it belongs (flo93)
-30.05.2011:
-        - implemented cut,copy'n'paste and the "select foo" entries in the score editor (flo93)
-        - added select_foo() functions to functions.cpp (flo93)
-        - removed "midi in" button from score editor (flo93)
-        - added a spinbox to the arranger's "Ch:" column (flo93)
-29.05.2011:
-        - moved cut,copy'n'paste to functions.cpp, removed unneccessary duplication (flo93)
-        - changed behaviour of paste: now the pasted, not the original notes are selected (flo93)
-28.05.2011:
-        - fixed dragging and resizing of track header, also changed default index of new 
-          sections, they should appear last now (rj)
-        - fixed the buggy bugfix of the "invalid Part*s" bug (flo93)
-27.05.2011:
-        - fixed bug in scoreeditor: invalid Part*s are now not used any more (flo93)
-        - applied some hunks of the patch sent in by WillyFoobar (flo93)
-25.05.2011:
-        - Added midiin and steprec buttons again (flo93)
-        - Added step-rec-support for drum edit and score edit (flo93)
-        - put step-rec-stuff into its own class (flo93)
-        - moved clefTypes out of scoreedit.h to prevent compile-horror (flo93)
-        - Declared struct Route as QMetaType to make it a QVariant type. (Tim)
-        - Moved: All routing popup menu stuff from app, astrip, mstrip, mtrackinfo into
-           new class RoutePopupMenu, *massively* cleaning up those 4 files. 
-          Used the new Route QVariant type as action data instead of integers. 
-        - Moved MenuTitleItem definitions from astrip.cpp into it's own menutitleitem.cpp (Tim)  
-        - Added to settings: "Make popup menus stay open. Otherwise hold Ctrl." (Tim)   
-          To avoid showing new users non-standard behaviour, the default is off!
-24.05.2011:
-        - Awl::PitchEdit now can be set with the musical keyboard (flo93)
-        - fixed y-stretch (flo93)
-        - cleaned up step-rec and midi-in buttons and stuff (flo93)
-        - steprec now supports a "insert rest" key, which can be set (flo93)
-          under Midi -> Input Plugins -> Remote Control
-        - song->midiNote now also delivers note off events (flo93)
-        - fixed pitch-spinbox (flo93)
-        - removed auto-resize from tracklist-header (rj)
-        - removed channel from track list for a drum track and grayed it out in track info (rj)
-        - fixed samplerate warning from templates (rj)
-23.05.2011:   (all changes made by flo93, except one)
-    Function-related changes:
-        - made all the stuff in the "functions" menu global
-        - added crescendo, legato functions, improved erase function
-        - removed unneccessary _to and _quant* - stuff from piano roll and drum edit
-          this also involved changing the Toolbar1 
-        - changed behaviour for step-recording: the note-length is now the "raster"-
-          value instead of the "quant"-value
-        - changed behaviour for scripts: the "quant"-parameter they get isn't the
-          quant-combo's setting, but the snap-combo's now
-        - removed unneccessary short cuts: SHRT_OVER_QUANTIZE etc. instead added
-          SHRT_QUANTIZE
-
-    Score-Editor-related changes:
-        - using the proper AL::raster functions in the score editor
-        - added support for selections to the score editor
-        - distance between staves is now automatically increased if neccessary
-        - fixed "change pitch freezes scoreeditor"-bug
-        - added clef-combobox to midi tracks (rj and flo)
-        - don't install the *.mf files any more
-        - added a modified MTScale to the score editor
-        
-    Other Stuff:
-        - speeded up importing midi massively
-        - when step-recording, chords can now be entered with only the musical keyboard
-        - swapped ctrl and shift behaviour to make muse accord to standards
-        - toolbar states are now saved
-        - improved "cakewalk" mode for arranger: added y-stretch and drawing some controllers 
-        - added line tool to drum editor
-        - added "reorder list" function to drum roll
-        - changed ctrl-edit's behaviour when control key is pressed
-        
-20.05.2011:
-        - Popup menus: If stay-open mode, space triggers item and double-click simulates return (closing). (Tim)
-19.05.2011:
-        * Feature: Popup menus now auto-scroll if too large to fit on desktop. (p4.0.25 Tim)
-          Added auto-scroll to my class PopupMenu. Added selectable stay-open. TODO: Use it more, where needed.
-        - Changed midi track info patch popup behaviour. Now stays open for auditioning patches. (Tim)
-        - Changed editor 'ctrl' controller popups. Split instrument/other (+ common controls!) + show ctrl numbers. (Tim)
-          TODO: Add custom (R)NRPN dialog to 'other' section.
-15.05.2011:
-        - Changed mouse wheel behaviour in graphical editors except the score editor (rj)
-            * wheel scrolls left-right
-            * shift+wheel scrolls up-down
-            * control+wheel zooms horizontally
-            TODO:
-             - score editor
-             - zoom to where the mouse is located
-14.05.2011:
-        - Fixed problem with project save dialog missing a forward slash '/'. (Tim)
-          ~/.config was being polluted with wrong folders. Fixed ProjectCreateImpl::updateDirectoryPath().
-13.05.2011:
-        - New spanish translation from Cristian Ramos (rj)
-        - Added dialog to remove unused wave files (rj)
-        - Changed default imported midi song type to GM. (Tim)
-        - Added GM drums patch in MidiInstrument::populatePatchPopup() for GM songs on ch 10. (Tim)
-12.05.2011: 
-        - Changed template song "default.med" song type from NO to GM, to help new users. (Tim)
-10.05.2011: 
-        - Added general settings audio item: Minimum control process period 1-2048, default 64. Test OK. (Tim)
-          Adjusts minimum allowable number of samples in a LADSPA or DSSI run, ie control 'smoothness'.
-          Still TODO: AudioTrack controllers contribution.
-        - Added Yamaha Mo6 instrument file by Geoff King gsking1 A T gmail D O T com. (Tim) 
-08.05.2011: 
-        - Draw event canvas notes if they extend past part end. (Tim)
-        - Added checkbox to select if songinfo should be displayed on song start (rj)
-        - fixups to structure functions, now inserts/cuts markers, and master track events with undo (rj)
-06.05.2011:
-        - MusE 2.0beta2 released (rj)
-        - Added Yamaha-CS1x.idf instrument from Ernie Rymer <ethylene77 A T yahoo D O T com> Thanks! (Tim)
-          Turned off executable permissions on some others.
-05.05.2011:
-        - Fixed regression: Plugins would not restore saved control state when loading song. (Tim)
-04.05.2011:
-        - Fixed meter drawing for zero values in feedback parameters to plugin guis (rj)
-02.05.2011:
-        - MusE 2.0beta released (rj)
-01.05.2011:
-        - More fixes, improvements to ladspa and dssi processing, control responsiveness, of 25.04.2011. (Tim)
-          Timestamp control ring buffer items with linear Audio::curFrame() instead of circular Audio::timestamp().
-          Added Audio::curSyncFrame(), used it in process routines to subtract from timestamp. 
-          All effect/synth generic/native gui controls should be quick now. 
-        - Dssi synths respond to Audio track controller graphs now. 
-          Still TODO: Make Audio track controllers full-speed (like the controls), they are still once per period. 
-          Do same for midi->ladspa controller code.
-28.04.2011:
-        - More separation of Alsa and Jack midi processing. Possible fix for crash report by Geoff B. (p4.0.22 Tim)
-          Added MidiDevice::handleStop(), ::handleSeek(). Split processing among MidiSeq::processStop, ::processSeek
-           and Audio::stopRolling, ::seek. Also some sustain resetting code and midi sync code was moved into
-           these two new MidiDevice methods. 
-          TODO: There is more separation to be done. Hopefully it makes MusE more stable and timing-proper. 
-        - Small fix to scoredit in color_image(). Use bytesPerLine() * height() for older Qt. Test OK. (Tim)
-        - Fix to Robert's DssiSynthIF::paramOut(). Call getParameterOut(). (Tim)
-        - Changed all plugin and dssi module's 'unsigned' usage to 'unsigned long' for more consistency. (Tim)
-        - fixed multiple connects in master list editor and some cleanups suggested by WillyFooBar (rj)
-27.04.2011:
-        - added first version feedback parameters for plugins (rj)
-        - merged score edit branch into trunk (flo)
-25.04.2011:
-        - added a songChanged at the end of clear when loading a new song, intended effect was to 
-          clear GUI before loading new song to fix some nasty crashes, seems to work (rj)
-        - Overhaul plugin.cpp/h: Fix all float <-> double and int <-> unsigned usages. (p4.0.21 Tim)
-        - Improved ladspa and dssi controller responsiveness even with large audio buffer size. (Tim)
-          Implemented variable run-lengths for frame-accurate controller processing. 
-          Improved volume, pan, and plugin control responsiveness - used track->setPluginCtrlVal() 
-           instead of audio->msgSetPluginCtrlVal() which waits until next audio process.
-          Work in progress! Still not complete yet. Please bear with me. 
-24.04.2011:
-        - Improved master list editor editing of keys, dropdown should not 'stay behind' anymore (rj)
-21.04.2011:
-        - Fixed drag&drop plugin instantantiation (again), was using a string pointer to private data
-          now copies the data before use (rj)
-19.04.2011:
-        - Added undo/redo to master list editor for key editing, should implicitly
-          mean that SC_KEY is emitted to detect song change (not tested) (rj)
-        - fixed bug with undo not working for first signature event (rj)
-16.04.2011:
-        - Added KeyList for keeping key change events and ability to edit it in
-          master list editor (rj)
-        - fixed stuff in master list editor (rj)
-          * editing tempo signature is now atleast working
-          * editing time position is now atleast working
-          * double clicking a line moves the playpointer to this position if we are not playing
-          * changed adding tempo/sig/key so they pick the postion from the play pointer instead
-            of just incrementing the time position, I can't fathom when that would be preferrable
-            (if there is a time, I'm sure someone will let me know :) )
-          - song changed not implemented yet
-          - undo/redo is not implemented
-        - Fixed crash in dssihost.cpp - my bad from recent p4.0.20 changes. (Tim)
-        - Added destructors to sigmap and tempomap. Test OK. (Tim)
-15.04.2011:
-        - And while we're at it... Invert drum track 'slivers' in arranger parts. (Tim)
-        - Move part name text to bottom to accommodate drum 'slivers'. 
-          Use lowest gradient colour from new gGradientFromQColor(), to determine whether to invert.
-14.04.2011:
-        - Fixed notes 'sliver' drawing in arranger midi parts. Invert if too dark. (Tim)
-        - Gave arranger part name text drawing a shadow to help contrast with drawn events. 
-          Also moved part name text out of the way, to top of part. 
-        - Removed DSSI gui QProcess kill timers. In Qt4 they can only be used that way with threads started with QThread. 
-          Kill is not nice anyway. On terminate, gui may prompt user to save work etc. App should check at close 
-           if all these guis closed and ask to abort closing, or kill the guis, or leave them alone.
-        - Improved dark part colour gradients. Added gGradientFromQColor() in widgets/utils.cpp and called from PartCanvas draw.
-12.04.2011:
-        - Another fix for FLAM GUI controls - 300ms delay before sending control values in PluginI::oscUpdate(). (Tim)
-          Good enough? How to make sure (any) gui is really ready?
-11.04.2011:
-        - Possible fix for FLAM GUI controls - send current control values in PluginI::oscUpdate().(Tim)
-10.04.2011:
-        * Added: Expanded all routing choices: Synth to Wave track, Wave track to Wave track etc. (Tim)
-        * Added: DSSI synths can now show generic LADSPA GUI as well as native. (Tim p4.0.20)
-          WIP: Controllers not finished + maybe need a chooser for which ones (of possibly 1000's) are shown. 
-          I reserved an Audio track controller index of 9 for them. If we ever decide to increase the number 
-           of rack plugins, that gives us room for 8 maximum, for now. (But increasing the maximum number
-           of controllers would mean altering the list structure, requiring a bump-up of file version.)
-        - Dummy audio: Fixed lockups, or crash at line: "while (drvPtr->cmdQueue.size())" in dummy loop. (Tim)  
-          Replaced loop code with with muse_qt4_evolution's (usleep-based instead of timer). 
-          TODO: Try subtracting process time from sleep time for more accuracy. 
-          TODO: Use a better sleep routine - usleep may be have terrible resolution in some cases.
-09.04.2011:
-        - No more sleep icon when cancelling a quit operation (rj)
-        - added Ctrl+Shift+LeftMouseButton to add entire rows to selection in all canvas editors (rj)
-01.04.2011:
-        - Fixed custom LADSPA DSSI GUI support. Tested OK with FLAM. Thanks to Luis Garrido for help. (Tim)
-31.03.2011:
-        * Feature: Support for custom LADSPA DSSI GUIs, such as those generated by FLAM. (p4.0.19 Tim)
-        - Initial support. TODO: Refine how a particular UI file is chosen - uses first one found for now.
-          Also may need to support multiple choices if multiple lib-level and/or plugin-level UIs are found.
-27.03.2011:
-        - Fixed end/off-screen selections not being drawn in midi controller graphs. (Tim)
-        - Reverted Midi Track Info ui layout more or less to pre- Mar 5, with some improvements. (Tim)
-        - Added: placeholder for Score editor (rj)
-        - Reclaim some screen real estate. Set zero margin and spacing in ScrollScale constructor. (Tim)
-        - Fixed midi controller graphs' velocity items selections. (Tim)
-24.03.2011:
-        - Fixed: Problems with midi event list editor. (p4.0.18 Tim)
-          For ex. problems selecting items while pianroll open. Changed ListEdit::songChanged().
-        - Fixed: Some problems drawing/editing on pianoroll controller graphs. Also added drawing speed-ups. (Tim)
-        - Added: Pianoroll controller graph items can now be selected/highlighted. Sync'd with midi event list editor. (Tim) 
-          Just a step towards better editing of controller graphs. WIP (No copy/cut/paste/move yet.)
-16.03.2011:
-        - Added: Midi events drawing while recording (rj)
-        - Fixed, hopefully, MESS synths sometimes being silent (rj)
-12.03.2011:
-        - Cursor mode in drum editor should be usable now (rj)
-          Changes:
-          * delete current event with delete
-          * change edit step size on toolbar and using 0 and 9
-            Try setting step size to 16 with snap 16, place cursor on the first beat for kickdrum
-            hold down 'b' to add all kickdrums.
-            Now move to snare at position 8 hold down 'b' again.
-            A basic beat should now be entered kick/snare/kick/snare
-          * auto scrolling of view when event is outside view
-          * move current event as with standard event operations
-10.03.2011:
-        - Added: Say hello to 'CURSOR MODE' in drum editor (rj)
-          the idea is to edit drums more like a mod tracker, doing all from the keyboard.
-          shortcuts defined for entering cursor mode (U) and V,B,N,M for entering notes.
-          TODO: Step parameter, auto scrolling, mouse integration and more
-        - color tweaks for wave tracks in arranger (rj)
-07.03.2011:
-        - draw gradients in arranger (rj)
-06.03.2011:
-        - added simple part drawing while recording, does not draw events or waveform (rj)
-05.03.2011:
-        - Store toolbuttons in song file (rj)
-        - Fixed issue with opening editors (rj)
-        - Zoom shortcuts in arranger (rj)
-        - detect samplerate and warn if samplerate isn't same in song and system (rj)
-        - adjust columns and store size of shortcut dialog (rj)
-        - Fixed up some missing keyboard accelerators for menus (rj)
-01.03.2011:
-        - Added feature to show/hide track-types from arranger, this far only with toolbuttons
-          and no persistent storage (rj)
-        - restore window geometry for Midi configuration dialog (rj)
-28.02.2011:
-        - Added progress dialog for loading projects (rj)
-        - Aligned meters on mixer strip (rj)
-27.02.2011:
-        - Fixed piano roll controller graph text drawing (finally!). (Tim)
-        - Fixed crashes in drag & drop for plugins and drag presets from outside muse into a plugin (rj)
-        - Support for multiple drops of files to arranger, e.g easy import of a bunch of wave files (rj)
-        - Added some missing Qt headers, found by Flo on Debian Lenny. (Tim)
-26.02.2011:
-        - Fixed some piano roll controller graph drawing issues. (Tim)
-          Draw velocities on top of grid, but draw non-velocity items behind grid.
-24.02.2011:
-        - Improved default midi auto-connections. (Tim p4.0.17)
-          Midi ports list default input routes column now shows 'all' by default.
-          Improved and fixed default input and output routes columns.
-          With those two columns' popup menus, users can now apply defaults to all existing tracks.
-        - Fixed Organ synth crashing. Added setupUi(this) in OrganGui::OrganGui(). (Tim)
-        - Fixed synth devices should not be listed as soloing chain popup items. (Tim)
-18.02.2011:
-        - Disable saveAs dialog for rec when project dialog isn't used (rj)
-        - changed the default setting for move single rec with track, default is to NOT move (rj)
-        - fixed (hopefully) bug in shortcut editor, global shortcuts were not always
-          taken into account when checking if a shortcut was in use (rj)
-        - added shortcut F for linedraw, applicable to automation drawing in arranger and pianoroll (rj)
-15.02.2011:
-        - Automation fixes, better detection, not perfect (rj)
-14.02.2011:
-        - Fixed midi track info panel layout and spacing. Should be much better now. (Tim)
-        - Added patch to remove warnings from WillyFoobar (rj)
-        - Fixes to graphical automation (rj)
-           * select color in menu
-           * offset bug, can now edit automation although it's scrolled down
-           TODO redrawing issues when using slider automation for instance.
-        - mixer slider now updates canvas to get automation updated (rj)
-13.02.2011:
-        - restore toolbar locations for main window and editors (rj)
-        - fixed some layout issues in general settings (rj)
-        - removed window geometry from default template, TODO add a menu option for creating
-          templates, which might not contain certain types of data, including geometry (rj)
-        - fixed bug if jack zombifies during project load which led to a crash (rj)
-        - Fixed MusE failing with non-RT kernel. Now falls back to normal 'OTHER' scheduling. (Tim p4.0.16)
-        - Fixed dummy audio thread not running FIFO with RT kernel - set PTHREAD_EXPLICIT_SCHED. (Tim p4.0.16)
-10.02.2011:
-        - added cut/copy/paste and keyboard shortcuts to wave editor (rj)
-09.02.2011:
-        - fixed regression with Bounce to File and Bounce to Track (rj)
-        [[[ By Tim. Marked as p4.0.15 ...
-        - Removed MidiDevice::nextPlayEvent, and instead of erasing 'already played events' at top of 
-           Audio::processMidi(), let each device erase played events immediately after playing them.
-          Still a bit uneasy with this one, but nextPlayEvent was causing some problems. 
-          This required forced event erasure, if the track is off, in SynthI::preProcessAlways(),
-           which may need more tweaking for other non-processed circumstances.
-        - Added MidiDevice::putEventWithRetry() which will wait and retry sending an event. 
-          So far it is only used in MidiPort::setMidiDevice(), which runs in the GUI thread where 
-           it can wait a bit.
-        - Increased playback MidiFifo size from 512 to 2100, to accommodate large block sends, 
-           such as in MidiInstrument::reset() which sends 2048 events at once.
-          Created new recording MidiRecFifo with reduced size of 160 instead of previous 512.
-          Replaced SynthI::putFifo and MidiJackDevice::eventFifo with unified MidiDevice::eventFifo.
-          TODO: Allow ALSA devices to also make use of it, in case events cannot be delivered.
-        - Added a timestamp to OscControlFifo events. To be used for better, faster OSC processing - TODO.
-        - Fixed DSSI processing timing in DssiSynthIF::getData(). Should be much better now, tested OK.
-        - Fixed Jack Midi 'lost event' messages due to full buffers. Now it waits until next cycle if buffer is full.
-          Slight mod: SysEx events forced to be lost, since it is most likely that the sysex is too big and Jack Midi 
-           could never allocate enough space for it, meaning the event would linger around forever attempting to
-           be sent, tying up other events. ]]]
-08.02.2011:
-        - made muse compilable under gcc-4.6. ptrdiff_t type requires inclusion of cstddef. (Orcan)
-31.01.2011:
-        - added cmake option (-DMODULES_BUILD_STATIC=ON) to build the internal modules
-          statically. It should be possible to run muse from the build tree. (Orcan)
-        - Moved -fPIC to the global build flags. (Orcan)
-26.01.2011:
-        - moved automation lines ontop of parts (rj)
-        - fixes to automation editing, still many bugs though (rj)
-21.01.2011:
-        - Added: graphical editing of automation, also now stores which parameters are visible (rj)
-                 Edit with new automation tool in arranger, to create new points hold down ctrl.
-           TODO: Easy selection of colors, create new points need improvement, and probably a
-                 bunch of bugs, drawing does not always work for instance, and some cleaning
-17.01.2011:
-        - fixed: panic button (rj)
-        - fixed: initialization crash when loading a new project (rj)
-15.01.2011:
-        - fixed: bug were wave track appeared to be rec enabled but no file was created. (rj)
-        - made create project dialog optional, also some minor tweaks to the dialog (rj)
-        -
-09.01.2011:
-        - These changes marked as p4.0.14:
-        - Applied aux send fix AudioTrack::writeProperties() by Remon. Thanks. (Tim)
-        - Fixed very slow midi trackinfo property adjustments with mixer shown. In AudioMixerApp::songChanged(). (Tim)  
-        * Feature!: Complete soloing system (after 4 years). Support chaining Midi Port/Audio Out -> Audio In. (Tim)
-          Click on audio strip iR, or midi strip oR, or midi track info oR buttons to see new additions.
-          Tested thoroughly, but of course this major change needs wider testing. 
-          TODO TODO: Fix trackinfo width (a minor button placement gui issue).
-        * Some tweaks for automation viewing, more to do. (rj)
-04.01.2011:
-        - Added saving and restoring of pianoroll trackinfo h-splitter state. (Tim)
-        - Fixed multiple velocity controllers appearing on song reload. Tested OK. (Tim)
-        - Fixed arranger trackinfo widgets sizing - were allowed to shrink vertically. (Tim)
-          TODO: Fix trackinfo scrollbar not showing at right time.
-        - Replace all QWidget::setShown() calls with setVisible(). (Tim)
-          It's supposed to be a Qt3 function, but still supported.
-        - Enabled displaying of audio automation on tracks (rj)
-        - Added right-click on track ARM buttons, now enables/disables all tracks of it's kind (rj)
-02.01.2011:
-        - Fixed arranger focussing problems again. (Tim)
-          Scratch setFocusProxy() fix of 31.12. Gave MusE a keyPress handler and pass it on to canvas.
-        - Fixed transport +/- position snapping. Works globally now too. (Tim)
-          Moves by, and snaps to, snap setting of either an editor, or globally to arranger by default. 
-        - Added transport position "Shift + +/-" keys, for no snapping. (Tim)
-        - Removed (hopefully) the last bits of Qt3support functions from .ui files. (Orcan)
-        - fixed patch loading for deicsonze and reverted to it's standard colortheme (rj)
-31.12.2010:
-        - Possible fix for arranger focussing problems. (Tim)
-          Added parent->setFocusProxy(canvas) just after canvas created.
-          Also added to pianoroll.
-        - Added shadow behind the wallpaper titles for easier read. (Orcan)
-30.12.2010:
-        - Suggestion by OOM team: Add default velocity controllers to pianoroll and drum edit. (Tim)
-        *Feature: Appearance part color names now can now be edited. (Tim)
-          TODO: Add per-song settings and add toolbar with some colour goodies.
-        *Feature: Mixer label colours can now be edited in the appearance settings. (Tim)
-          TODO: Remix track icons using use alpha channel and special routine to mix in 
-           these settable colours.
-        *Fixed: Appearance settings palette was broken. (Tim)
-          Note: A few odd Qt styles are wacky (Motif, Windows). Your mileage may vary.
-        - In ctrl canvas, draw the grid before anything else. (Orcan)
-29.12.2010:
-        - Fixed Bigtime display when using a style sheet for MusE. (Tim)
-          Set window font using a style sheet. Bigtime used QFont::setPixelSize(). 
-          Application style sheets (even a blank one) override with the fixed application 
-          font size (evidenced by adjusting MusE config font#0, then bigtime font size changed). 
-          TODO: Darn, the tooltips fonts are as big as the labels! Must fix.
-        - Added 2 wallpapers from Geoff Beasly.
-        - Fixed focus stealing of transport (rj)
-28.12.2010:
-        - Tweaked and added some delays during project load to counter threading
-          issues during loading of projects (rj)
-        - Commented out the comment placeholder text line in projectcreateimpl.cpp. It
-          broke the compilation against Qt-4.7. (Orcan)
-        - Fixed the shift modifier issue in renaming parts in the arranger. (Orcan)
-        - Fixed the 'no selected track' trackinfo background MusE logo display. (Tim)
-          It was a memory leak as well. Was a simple fix in Arranger::genTrackInfo().
-27.12.2010:
-        - Added a first try at project creation dialog, we'll see how much territory
-          it covers, intentionally it's only used upon creation of a project, later 'Save As'
-          operations use the old dialog so multiple .med files can be saved for the
-          same project (rj)
-        - deferred creating *.wav files until the global record button is clicked,
-          if a project does not exist at that time, pop up the new project dialog (rj)
-        - changed 'new' project from listing PROJECT_VIEW to GLOBAL_VIEW where the
-          templates reside, an enhancement would be to list USER_VIEW if it's template
-          dir exists (rj)
-        - Added myself to the AUTHORS list. Oops. (Orcan)
-        - Added a mimetype file for *.med, *.med.gz, *.med.bz2 and associated MusE with this
-          mimetype (and also midi and xml mimetypes) in the .desktop file. (Orcan)
-        - Got manpages from Debian by Daniel Kobras, and updated them for MusE2. (Orcan)
-        - Remove rem'd preview code in filedialog.cpp. I reimplemented it in appearance.cpp. (Orcan)
-        - Remove the environment variables info from the usage output. (Orcan)
-        - midiedit links to ctrl. (Orcan)
-        - Merged changes from ccherrett into pianroll (h-splittter). (Tim)
-        - changed open dialog to view stored project directory for PROJECT_VIEW (rj)
-        - Fixed midi track info size issues. (Tim)
-26.12.2010:
-        - Initial addition of midi track info to pianoroll. WORK IN PROGRESS. (Tim)
-          TODO: Just to get off the hard drive. A few things still need to be linked up!
-                And we really need icons to replace those 'T' 'C' 'S' 'X' buttons.
-        - Fix minor issues that surfaced when I built an RPM for the alpha release (Orcan):
-              o Added missing AudioVideo category to the .desktop file.
-              o Fixed the executable name in the .desktop file.
-              o Converted README.softsynth, synti/vam/README, README.de, SECURITY to UTF8.
-              o Made the default MusE_DOC_DIR consistent with other default definitions.
-              o Removed explicit rpath to ${QT_LIBRARY_DIR}. cmake should add it automatically
-                if there's need.
-              o Removed unnecessary linkage to libQtSvg.
-              o utils are installed with executable permissons.
-25.12.2010:
-        - Added fancy background selection widget with live preview to Appearance Settings. (Orcan)
-        - Applied Geoff King's second capitalization patch.
-23.12.2010:
-        - MidiTrackInfo is now self-contained. (Tim)
-          Moved all of its members from Arranger into MidiTrackInfo. Removed trackinfo.cpp
-23.12.2010:
-        - MusE 2.0alpha released! (rj)
-22.12.2010:
-        - Capitalizations in the menus thanks to Geoff King (gsking1->gmail. com)
-        - Added some comments in app.cpp that I've been willing to include for a while. (Orcan)
-        - Added a line to CMakeLists to install the splash image. Commented out for now. (Orcan)
-        - added new-user help dialog for Input button on midi track-info (rj)
-        - Fixed *some* gui drawing speed issues. (Tim)
-          Use Qt::WA_OpaquePaintEvent for windows we fully draw on, like part canvas, track list, meter.
-          In PartCanvas::drawItem(), ignore null intersect of item bbox + rect.
-          TODO: Other windows like Slider and Knob could probably use this. And with many parts,
-                 drawing is still slow (esp waves), possibly because of alpha blending. 
-21.12.2010:
-        - Moved all the config files "~/.musePrj, ~/.MusE, ~/.deicsonze.dco" into ~/.config/MusE/
-          and renamed them as "projects, MusE.cfg, deicsonze.dco", respectively. (Orcan)
-        - User instruments path is made user configurable with default location in
-          ~/.config/MusE/instruments
-        - In simpledrums2, set the 64bit ladpsa plugin paths. (Orcan)
-        - Fix: gensetbase was opening in the last tab instead of the first. (Orcan)
-        - Eliminated environment variables usage (MUSE, MUSEHOME, MUSEINSTRUMENTS). (Orcan)
-20.12.2010:
-        - Fixed arranger grid h-line drawing, track, and part drawing alignment, border issues. (Tim)
-        - To open help pages, use the default browser of the system via QDeskopServices. Removed
-          the configuration option to select the browser. (Orcan)
-        - Added some groupboxes and layouts to Global Settings to make it look more uniform. (Orcan)
-        - Don't pack the binary and subversion directories when doing "make package_source". (Orcan)
-        - Updated the Russian translation again thanks to Alex, alex54m -> mail.ru
-        - Fix a typo in awl/CMakeLists.txt that disabled the translations for awl. (Orcan)
-        - Updated all the .ts files with the latest strings. Made sure that share/locale/CMakeLists
-          is scanned last so that all the translations are collected before coming to that. (Orcan)
-        - Fix: cliplist target should depend on widgets target. (Orcan)
-19.12.2010:
-        - Fixed not saving part colours and part canvas background appearance settings. (Tim)
-        *Feature: Added 'global opaqueness' (transparency) appearance setting. (Tim)
-          Currently only affects part colours. 
-          TODO: Fix the darn black rectangle drawing. Apply the opaqueness to some other things.
-        - Fixed arranger part drawing borders. Used QPen::setCosmetic(true) when drawing. (Tim)
-        - Individual parts are now built as shared libraries. (Orcan)
-        - Moved main() and first degree relatives into main.cpp (Orcan)
-        - Fixed bad link in README. Updated German README. (Orcan)
-        - Major clean-up in all CMakeLists.txt files. Hopefully, this will be the last time. 
-          Unified their notation. Added copyright notices to those which were missing. 
-        - Defined MusE_SHARE_DIR and MusE_LIB_DIR in config.h.in so that these directories 
-          can be accessed conveniently in the code. (Orcan)
-        - Install documentation files to the standard docdir specified by FHS. (Orcan)
-18.12.2010:
-        - Fixed transport shortcuts not working in some windows or situations. (Tim)
-          Added event->ignore to PartCanvas::keyPress. Added setFocusPolicy() to WaveView, Master.
-          Added (canvas or view)->setFocus() to WaveEdit, MasterEdit. Test OK.
-        - Fixed rack drag'n drop. Added individual tooltips for effects since the astrip might
-          be too narrow. (Orcan)
-17.12.2010:
-        - Fixed crash with song loaded then File->New. Marker view had non-existent items from cleared marker list. (Tim)
-        - Some memory leak cleanups. Delete midiInstruments and midiDevices. (Tim)
-          TODO: Many more leaks to fix. 
-16.12.2010:
-        - Fixed track list track moving/resizing - added ev->buttons() check to mouseMoveEvent(). (Tim)
-        - Fixed meter drawing (speed) - removed double buffer pixmap. Test OK. (Tim)
-15.12.2010:
-        - Major cleanup in the #includes. Emptied all.ha nnd moved its contents to individual files.
-          The build is roughly 20% faster now. (Orcan)
-        - Fixed track list drawing - removed double buffer pixmap. Test OK. (Tim)  
-14.12.2010:
-        - Fixed corruption on track info instrument patch button due to latin1() conversions. (Tim)
-          Changed MidiInstrument::getPatchName() and EditInstrument::getPatchName() to return QString.
-13.12.2010:
-        - List the available locales in the --help output. (Orcan)
-        - Fixed audio/midi control right-click automation popups were greyed out due to typo. (Tim)
-        - Fixed some QMenu usages without parent and/or delete. (Tim)
-        - DeicsOnze: Fixed: Crash in ctor, _preset not init. by time loadConfiguration called. Re-arranged. 
-          And 3 popup QMenu usages without delete. Test OK. (Tim)
-        - Deicsonze: Fixed all missing icons throughout. Added qrc file, changed ui file. Looks nice now. (Tim) 
-12.12.2010:
-        - Integrated the translation system into cmake. Added a -DUPDATE_TRANSLATIONS flag to cmake
-          which will update the .ts files in the source tree with the newest strings. I used this to
-          update the existing translations. Also I removed the .qm files from the SVN, as they will
-          be now installed from the build tree. (Orcan)
-        - Added a -l flag to the muse executable to override the locale detection, mostly for testing
-          purposes. (Orcan)
-        - Updated the Russian translation thanks to Alex, alex54m -> mail.ru
-        - When updating the .ts files, by adding proper dependencies, make sure all targets are 
-          scanned. Otherwise .ts files may miss some strings. (Orcan)
-11.12.2010:
-      * Feature: Added default midi track in/out channels to midi ports list. (Tim)
-        - For now, the boxes use the old text channel strings ("1 3 5", "1-5", "all, "none" etc.)
-      * Changed: Experimental: Mid ports now default to 'GM' instrument. (Tim)
-        - Was stopping new users from seeing instrument patches etc.
-        - TODO: Overhaul instrument type, instrument sysexes, and song type.
-      * Changed: Audio groups and inputs no longer default connect to first audio out. (Tim)
-        - Find it tedious, once a song grows with groups and inputs, to keep disconnecting them from output.
-        - TODO: Add a better audio default routing system.
-10.12.2010:
-        - More compiler and build warnings fixes. (Orcan)
-        - Restored the scripts menu and fixed scripts handling. Tested OK. (Orcan)
-        - Added left, right, up, down to shortcuts dialog. Test OK. (Tim)
-        - Fixed ctrl canvas not lining up in drumedit and pianoroll. (Orcan)
-        - Fix: Save project file dialog should have a "Save" button instead of "Open". (Orcan)
-        - Fix: Crash when Ok is clicked in the plugin selection dialog with no plugins
-          selected. Well, I fixed the crash, then I also disabled the Ok button until
-          a plugin is selected. (Orcan)
-        - Feature: Middle mouse button click on a plugin in the rack will (un)byass the 
-          plugin. (Orcan)
-        - Actually, use Qt:MidButton instead of instead of Qt:MiddleButton in rack.cpp.
-          The latter is Qt >= 4.7 only.
-09.12.2010:
-        - Fix: column orders mess up in the main window, and they do not save properly in
-          the .med files. (Orcan)
-        - Made MusE the owner of transport object so it's now deleted when MusE object is deleted. (Tim)
-        - Improved PosEdit class, supports undo/redo levels, focus-out + return pressed updating. (Tim)
-          This also fixes the Transport position boxes' sections jumping to last section. 
-          TODO: There's still trouble editing with KB in Bar-Beat-Tick mode, the bar and beat being '1' based.
-          TODO: Fix SigEdit (the time Signature Editor boxes).
-        - Fix some build and compiler warnings. (Orcan)
-        - Fix the max slider value in the transport. This was a typo I made during conversion. (Orcan)
-08.12.2010:
-        - Ported many more Qt3 methods to Qt4. (Orcan)
-        - Turned off Qt3Support. Muse2 is now a pure Qt4 application. (Orcan)
-07.12.2010:
-        - Ported rack. TODO: Drag and drop needs a hand. It's not working. (Orcan)
-        - Converted various Qt3 support methods to Qt4 in many files. (Orcan)
-        - Includes cleanup in app.*. (Orcan)
-        - Converted all instances of latin1() and crossed my fingers. Initial tests OK. (Orcan)
-06.12.2010
-        - Built Awl::posedit and Awl::sigedit, and replaced /widget versions and all usages. (Tim)
-          TODO: Awl::sigedit has no returnPressed signal, for lmaster. 
-          TODO: Transport position posedits jump to sub-ticks sections - can't auto-inc other sections.
-        - Reverted class SpinBox to previous revision. Test OK. (Tim)
-05.12.2010
-        - Completed porting of dlist module (the drum list). Test OK. (Tim)
-        - Ported sigedit and posedit. Used SpinBox in place of Q3SpinWidget. TODO: Needs some work on
-          locating the arrows of the SpinBox accurately. Maybe we need to implement another SpinBox
-          from scratch? (Orcan)
-        - Ported plugin.cpp. Both internal and LADSPA plugins tested okay. (Orcan)
-        - Trivial conversion of Qt3 support methods to Qt4 in some widgets: slider, sliderbase, knob,
-          ttoolbutton, mlabel. (Orcan)
-04.12.2010
-        - Fix: Escape button does not exit track renaming editor. (Orcan)
-        - Fix: Midi ports config table items are editable when they are not supposed to. (Orcan)
-        - Ported scldiv. Things seem to work as before. Maybe needs more testing. (Orcan)
-        - Removed fontsel, and synthwizardbase from the project. (Orcan)
-        - Feature: In waveedit, the mousewheel controls the vertical slider. (Orcan)
-        - Completed porting shortcutcapturedialog, filedialog. Added paste clone, 2track, clone2track, 
-           insert empty, insert, to configurable shortcuts. Changed all arr/pianoroll/drumedit hard-wired 
-           keys to refer to shortcut table. (TODO: Other windows?) (Tim)
-        - Correction: Convert all state() to QInputEvent::modifiers() and stateAfter() to modifiers()
-           (I forced a downcast to QInputEvent if required). Is correct? QT Help says:
-           QInputEvent::modifiers() "Returns the keyb. mod. flags that existed imm. before the event occurred."
-           QKeyEvent::modifiers()   "Returns the keyb. mod. flags that existed imm. after the event occurred."           
-03.12.2010
-        - Ported all copy/paste/drag/drop coding. Including pianoroll, drumedit, pcanvas, prcanvas, dcanvas, 
-           and effect rack. Test OK cut, copy, paste, also drag n drop various files to arranger and rack. (Tim)
-        - Fixed arranger menu cut/copy enabling. Was never right before. Test OK cut and copy. (Tim)
-        - Completed port of MidiInstrument. Fixed its populatePatchPopup(), which fixes midi trackinfo 
-           instrument selection not updating h-bank, l-bank, and prog spinboxes. (Tim)
-        - Some cleanups: Remove the old Header class. Rename HeaderNew to Header. (Orcan)
-        - Ported: osc, wave, dcanvas. (Orcan)
-02.12.2010
-        - Ported alayout, tlist, arranger (Orcan)
-        - Minor tweak in the HeaderNew API to set column widths easier. Also commented out the
-          old Header class. We can probably remove it soon. (Orcan)
-        - Ported help.cpp as is. But maybe we should use QDesktopServices to open user's default browser
-          instead of the browser specified in a config option. (Orcan)
-        - Ported scrollscale and splitter (Orcan)
-01.12.2010
-        - Ported listedit. (Orcan)
-        - I missed to port one action call in drumedit. Now it's (hopefully) done. (Orcan)
-        - Ported midiport. This also finishes the port of dlist. (Orcan)
-30.11.2010
-        - Ported vscale and ctrledit. (Orcan)
-29.11.2010
-        - In Mess::processEvent(), added ME_PITCHBEND case. For synths which don't override 
-           processEvent (like Vam and Deicsonze). Pitchbend should work in them now. (Tim)
-        - Added a new HeaderNew (Qt4 based) class to be used instead of Header (Qt3 based). (Orcan)
-        - Ported drumedit except a Q3PopupMenu reference that needs to be ported in midiport.cpp.
-          This update restores the tooltips, adds icons to edit menu items in drumedit window. (Orcan)
-28.11.2010
-        - Finished porting Marker View. (Orcan)
-        - Ported ctrlpanel. Needs some testing. I also removed usage of the Oxygen's "pen" icon
-          in place of the pencil. The pen looks bad in ctrlpanel. (Orcan)
-        - Deicsonze2 added (!!) Fresh re-import from evolution. Test OK. (Tim)
-          TODO: Plugin controllers disabled - we need the Ctrl class. 
-                Restoring of state (that's a MusE problem I think).   
-                Fix deicsonze.cpp:3612: warning: deprecated conversion from string constant to ‘char*’
-        - Ported Mastertrack list view. (Orcan)
-        - Finished porting of Canvas module. Should be done. Not sure about one mouse event buttons() usage. (Tim)
-27.11.2010
-        - Completed porting pianoroll module including menus, shortcuts. Should be done. (Tim)
-        - Ported the following .ui widgets to Qt4: organguibase, gatetime, midisync,
-          routedialogbase, vamguibase, 1050, 2142. (Orcan)
-        - Fixed the whatsthis and tooltip bits of tho Midi Ports dialog. (Orcan)
-        - Ported Quant Config dialog. (Orcan)
-        - Ported the popup menus in the canvas. This should restore the color selection of tracks. (Orcan)
-        - Removed midiportroutebase.ui, fdialogbase.ui (the one from organ) (Orcan)
-        - Removed some unnecessary Q3* references. Converted popup menus in various places. (Orcan)
-26.11.2010
-        - Fixed midi trackinfo growing size - set output device list box and instrument button 
-           h-size policy to 'Ignore'. (Tim)
-        - Fixed trackinfo spinboxes only go to 99 - changed some trackinfo ui spinbox properties
-           (maxValue -> maximum, minValue -> minimum etc). (Tim)
-        - Fixed SpinBoxFP class. Was never right before. (Tim)
-        - Fixed transform and input transform ui files and dialogs - using the corrected SpinBoxFP. (Tim)   
-        - Converted comboQuant widget to Qt4 (found in miditransform dialog). 
-          TODO: Doesn't actually open - why? (Tim)
-        - Finished porting edit instrument dialog to Qt4. listitem.h is removed as it is no longer
-          needed. (Orcan)
-        - Added missing includes on comboQuant. The compilation was failing here. (Orcan)
-25.11.2010
-        - Fixed column widths, alignments, device renaming and jack device creation issues in synthconfigbase.
-          Somehow the last changelog entry about this didn't get committed. That's added too. (Orcan)
-24.11.2010
-        - Resinstated the Midi Transformer. Was left out when both TF and iTF were removed, and then I 
-           asked for them to be put back. So yes, transformbase.ui is used now. (Tim)
-        - Completed conversion of waveedit(.cpp, h), including menus and shortcuts. Should be done. (Tim)
-        - Set undo/redo shortcuts on global undoAction/redoAction, instead of Q3Accel in each window. (Tim)
-        - Fixed some leftover setAccel()'s in app.cpp (Tim) 
-        - Fixed delete shortcut key. Set in MusE constructor. (Tim)
-        - Reinstated special Toplevel::CLIPLIST case in MusE::toplevelDeleted(). Caused problems. (Tim)
-          TODO: Still not right with the menu checkmark...
-        - Ported rhythmbase, fluidsynthgui, fluidgui to Qt4 (Orcan)
-        - Removed patchbaybase from the project (Orcan)
-        - Added ENABLE_EXPERIMENTAL flag to cmake. Marked rhythmbase, s1 experimental (Orcan)
-        - Fixed a connection in miditransform (Orcan)
-        - Fixed crash in FluidSynthGui::channelItemClicked(): Use item->row() for the channel. Test OK. (Tim)
-        - Start porting synthconfigbase. It's mostly functional. TODO: Column widths and alignments,
-          renaming device name, port Q3WhatsThis bits (Orcan)
-23.11.2010
-        - Added Track::cname(), applied to strip labels' object names, so they may be used in style sheets. (Tim)
-        - Added struct SysEx and some friends, to minstrument.h, prep. for the instrument editor. (Tim)
-22.11.2010
-        - Oops, fixed regression, marker view and cliplist crashes, removed setAttribute(Qt::WA_DeleteOnClose) 
-           from TopWin constructor, and added it to individual TopWin sub-classes (only MidiEditor needs it). (Tim)
-        - Final major leak fixed: We can now delete the main MusE object just before returning from main! (Tim)
-          Now that markerview, cliplist et. al. are also being deleted (verified, dtors called), I changed 
-           MusE::startClipList() so the main MusE instance owns it like all the others. It deletes too, now. 
-          Also removed odd special Toplevel::CLIPLIST case in MusE::toplevelDeleted(). Hope it works... 
-          Tested closing complex song, with all windows open. Nice to see final Finished! message (new, with -D).
-        - Eliminated double-buffer pixmap in View class (not required in Qt4). TODO: install event handler. (Tim) 
-        - Ported the following .ui widgets to Qt4: editgainbase, gensetbase (Orcan)
-        - Removed unused .ui widgets: wtrackinfo.ui, editctrl7dialogbase.ui, editmetadialogbase.ui (Orcan)
-        - Fixed remaining alignment issues in editors, using setSpacing(0). TODO Controller panels. (Tim) 
-21.11.2010
-        - All menus now use QActions. Some shortcuts are left to be assigned correctly (Orcan)
-        - Clean up: Remove submenu integer ids from the MusE class in favor of QActions (Orcan)
-        - Ported the following .ui widgets to Qt4: didyouknow, transposebase, cliplist,
-          configmidifilebase (Orcan)
-        - Ported View and MidiEditor classes. Fixed TopWin constructor. Test OK all editors. (Tim) 
-20.11.2010
-        - Remove most wrapper classes around .ui widgets. I was wrapping them too much. Some widgets
-          (e.g. songinfo) still need wrappers though. (Orcan)
-        - Ported the following .ui widgets to Qt4: appearancebase, mixdowndialogbase, 
-          shortcutcapturedialogbase, shortcutconfigbase, aboutbox, editsysexdialogbase,
-          editnotedialogbase, editctrlbase (Orcan)
-        - Converted all of editevent.cpp to Qt4 (Orcan)
-        - Load default compiled-in style-sheet resource :/style.qss in main(). (Tim)
-          Added style sheet support to Appearance settings, with reset button.
-19.11.2010
-        - Started some conversions of midieditor, pianoroll, drumedit, incl. their QGridLayouts. (Tim)
-        - More icon conversion work (Orcan)
-        - Move global, user, project .xpm files into the xpm/ directory. Handle them the same way in 
-          filedialog.cpp as we handle other pixmaps elsewhere. (Orcan)
-        - Ported the following .ui widgets to Qt4: commentbase, metronomebase, mtrackinfobase, 
-          midifilter (Orcan)
-18.11.2010
-        - Updated build part README file - read it! Tell user to specify Release build type. (Tim)
-        - Added printout of build type in top level cmake. (Tim)
-        - Removed duplicate LASH detection in top level cmake. (Tim)
-        - Ported the following .ui widgets to Qt4: transformbase, itransformbase, mrconfigbase (Orcan)
-        - Finished remaining port work of mixer and strips. Should be all done now. (Tim)
-	- Modified icons.cpp to Use theme icons whenever possible. We now need to match muse
-	  icons with the standard theme icon names (Orcan)
-17.11.2010
-        - Removed a fix which cured graphic corruption for me in MusE-1. Not required now. (Tim)
-        - Small change to Orcan's filedialog, re-enabled global button. (Tim)
-        - Ported the following .ui widgets to Qt4: songinfo, mittransposebase, velocitybase (Orcan)
-16.11.2010
-        - Fixed track info sizing problems. In Arranger::switchInfo() added tgrid->update(). (Tim)
-          QLayout::update() seems to be a new method, we needed to call it here.
-        - Fixed mixer maximum and minimum sizes. (Tim)
-          Bit of a tough hack. Is there a better way? Done by sub-classing QScrollArea and catching 
-           LayoutRequest events, just before paint events when the window sizes are finally correct.
-          TODO: Still off by a few pixels when mixer first opened, because main window frameSize 
-           is not set yet, by the time LayoutRequest is caught.
-	- Transformed file dialogs to Qt4. This was the first attempt to transform a .ui file to Qt4
-	  as well. New .ui files do not store image information. Thus I moved the 3 icons from
-	  qfiledialog.ui into their own files.
-	  TODO: Qt4 does not support file preview in file dialogs yet. The relevant code (wallpaper
-	  preview) is disabled. Now we either have to implement an image previewer, or forget about
-	  this feature. (Orcan)
-	- Only try to use theme icons in file dialogs if Qt >= 4.6 (Orcan)
-14.11.2010
-        - renamed deicsonze2 files and classes with '2' suffixes
-        - Applied patch by Orcan to convert populateAddSynth(). (Tim)
-        - Changed all setMargin() calls to setContentsMargins(). (setMargin() is obsoleted!) (Tim)
-        - Fixed crash in MusE::closeEvent() upon close: save, skip, abort? = abort. (Tim)
-          TODO: Some other suspicious looking closeEvent()s. May need to fix...
-12.11.2010
-        - Fixed arranger alignment issues - set layout margins to zero. (Tim)
-          TODO: Track list items aligned to canvas tracks are still off by one lousy vertical pixel.
-11.11.2010
-        - WIP: Mixer and strips re-designed to be theme/font friendly - no more fixed STRIP_WIDTH. (Tim)
-        - Fixed Slider, Knob and DoubleEntry classes. Knob anti-aliasing applied (where allowed).
-        - Transport handle colour fixed - added setAutoFillBackground(true). 
-10.11.2010
-        - Ported transport window to Qt4. The handle color needs a fix (Orcan) 
-09.11.2010
-        - Fixed audio and midi strips and converted to Qt4. Looks OK now, but will be better... (Tim)
-          TODO: Convert Slider, Knob, EffectRack, ComboBox classes etc. (After that the strips will be perfect.)
-08.11.2010
-	- Add missing link to libdl.so. Caused bulid failure on Fedora 14 (Orcan)
-        - Fixed strip name label colours, also name label auto-font-sizing. (Tim) 
-        - Updated some window flags (stay on top, delete on close...) (Tim)
-07.11.2010
-        - Mixer is fixed and converted to QT4. (Tim)
-        - Conversion of TLLayout class to QT4. 
-        - Conversion of TempoEdit class to QT4. Displays proper doubles now.
-06.11.2010
-        - Yipee! De retour aux les popup menus 'stay-open'. (Tim)
-        - Fixed PopupMenu class. All routing popups done (midi trackinfo, midi strip, audio strip).
-          TODO: Fix midi 'toggle all'. Use routes as QVariant action user data (someone started this already)...
-        - Major cleanup of audio and midi strip comments, code. (A fresh start for your tired eyes, you guys...)
-        - Test OK so far with all track types. 
-04.11.2010
-        - Fixed LADSPA plugin dialog. TODO: fix sorting order. (Tim)
-        - Fixed MenuTitleItem class. Fixed some usages of it (Jack popup routes, midi cfg routes). (Tim) 
-02.11.2010
-        - Solved! All the MESS synths load now. Removed mpevent(.h, .cpp) and evdata.h from /libsynti, 
-           conflicting with copies in /muse, causing crashes. Versions in /muse are newer. 
-          Should only be one version. Whether we end up putting it in a library, or leaving it 
-           in the main app as I have done here, it had to be moved one way or another. 
-          If we really need 'reduced, simplified' functionality of the /libsynti mpevent versions,
-           then it should be a base/inherited class type of solution, not two different copies. (Tim)
-02.11.2010
-        - Fluid, fluidsynth, simpledrums: Testing: For now, disable certain sendSysex() calls crashing. (Tim)
-          Marked as "MusE FIXME:". At least fluidsynth appears to be working now. Other two not so good.
-01.11.2010
-        - Fixed all MESS plugins: compile with -fvisibility=hidden, to avoid namespace conflicts.
-          In particular, simplesynth was causing conflict with variable 'plugins' causing it to 
-           be overwritten. 
-        - So, this fixes LADSPA plugins not appearing in plugin list.
-        - Added simpledrums from muse_qt4_evolution, is called 'simpledrums2' and replaces the original.
-31.10.2010
-        - Fixed Toolbar1 class. 'Snap', 'Quantize' combo boxes should work now. Thanks to Luis G. for help. (Tim)
-30.10.2010
-        - Fixed Deicsonze crash and missing Organ. Both load now. (Tim.)
-27.10.2010
-        - Fixed drawing of Slider widget and Meter widget (rj)
-        - Fixed keyboard shortcuts for tools on toolbar (rj)
-        - More conversions with windows done previously done, fixes. Marker, Master gui + List. (Tim)
-          Some new style header fixes here/there. 
-26.10.2010  
-        - Fixed non-opening view menu windows (mixers, marker, bigtime etc). (Tim)
-          Found all the isItemChecked() returning opposite of before (for example in toggleBigTime()). 
-          And yet the setItemChecked() remains unmodified and it works (for example in showBigtime()).
-          Not understood why - yet.
-26.10.2010  
-        - Applied large patch by Orcan to (start) converting to native QMainWindow and QToolBar. (Tim)
-        - Completed piano roll, drum edit, MusE app, and arranger toolbars.
-24.10.2010  
-        - Finds MESS synths now including fluid/fluidsynth, but all crash except Vam and S1. (Tim.)
-22.10.2010  
-        - cmake scripts changes thanks to Orcan Ogetbil oget.fedora > gmail.com (Tim.)
-          'make uninstall' facility added! 
-          Drop our obsolete pkgconfig for newer native cmake pkgconfig.
-          LASH detection fixed.
-          Summary added.
-          Renamed installed executable 'muse' to 'muse2'.
-          Install /utils, /packaging, and /demos files.
-          Other minor changes.
-21.10.2010  
-        - Toolbar1 usage of Q3ListBox changed to QTableWidget. (p4.0.3 Tim)
-        - More Toolbar1 fixes. (p4.0.4 Tim)
-        - Fixed widgets/tools.cpp EditToolBar::EditToolBar connect Q3Action. (p4.0.5 Tim)
-        - Crashes: Removed all "undoRedo->removeFrom..." from destructors (~pianoroll() ~drumedit() etc.) (p4.0.6 Tim)
-20.10.2010
-      * Fixed: cmake should work now. (T356)
-        - Changed the QT4_WRAP_UI3 macro to generate  <filename>.h  instead of  ui_<filename>.h
-        - In /muse/CMakeLists.txt, included all the uic generated headers paths (the 'build' paths). 
-        - Tested OK with fresh svn pull.
-19.10.2010
-      * Fixed: Some missing files, errors with cmake build. (T356)
-19.10.2010
-      * Changed: Build system changed to cmake. (T356)
-        - Some other suitable changes. p4.0.2
-        - WIP Need to fix a few placed in code with regards to installation search paths (MESS synths not found etc.)
-        - Choose suitable version number. Currently left at 2.0.1 
-        - Maybe a few other things. Change name of prog so as not to conflict with existing muse installation? etc. etc.
-        - Default install location is /usr/local. Be careful not to overwrite an existing working muse-1 !
-16.10.2010
-      * Fixed: Routing and popup menus should work now. Sorry, no 'stay-open' menus for now. (T356)
-        - p4.0.1 Reverted back to regular non-overloaded Q3PopupMenu behaviour (self-extinguishing) for PopupMenu class.
-        - Removed "gRoutingMenuMap.clear()" and "gRoutingPopupMenuMaster = 0" from MusE::routingPopupMenuAboutToHide().
-          Instead, added protection from non-visible menu in MusE::updateRouteMenus().
-      * Tested: Pianoroll, drums open but toolbars are very messed up. Marker, transport, bigtime, all others seem OK.    
-15.10.2010
-      * Feature: Unified Jack midi devices in midi ports list. Can be both input and output, just like ALSA devices. (T356)
-        - Marked as p3.3.55 
-      * Corrected: Three things which did not compile in conversion to new muse-2: (T356) 
-        - <string>true</string> -> <bool>true</bool> in mtrackinfobase.ui, for recEchoButton toggleButton property. (T356)
-        - Surround with QString(): "strerror(errno)" in MusE::save(), and "incstr" in MidiDeviceList::add(). (T356)
-14.10.2010
-      =======================================
-      * muse2 branch (Conversion to QT4, QT3 compatibility mode for now) checked in (rj) (T356)
-      =======================================
-
-09.10.2010
-      * Fixed: Gluing of midi track parts, over tempo changes, caused incorrect note times and lengths. (T356)
-        - Fixed Song::cmdGluePart().
-08.10.2010
-      * Disabled: Precount does not work, disabled function in gui (rj)
-      =======================================
-      * 1.1 tagged (rj)
-      =======================================
-      * added: missing headerfile in dssihost.cpp, required for building on Ubuntu Maverick (rj)
-21.09.2010
-      * Fixed: Mixers not restoring their size properly upon song load. (T356)
-        - Rearranged MusE::loadProjectFile1() slightly so mixer resizing done at end. Tested OK.
-      * Changed: Disabled some optimized code always enabled in Dsp::cpy(), for now, in case of 64-bit issues. (T356) 
-16.09.2010
-      * Created rc2 release for 1.1 (rj)
-      * Fixed: Delete track(s) not disconnecting track routes, causing routes to hang around and store in song file. (T356)
-        - Fixed major regressions (my fault) in Song::insertTrack2() and ::removeTrack2().
-      * Fixed: Dummy audio device: Crashes when Jack midi device created in device manager, or loaded from song. (T356)
-        - This allows to create Jack midi devices even when dummy audio driver is used.
-        - Tested OK loading complex Jack midi based songs with dummy audio driver.
-      * Fixed: AlsaTimer cannot start, with dummy audio device. (T356) 
-        - Reverted: Back to default SND_TIMER_GLOBAL_SYSTEM in AlsaTimer, for now until a better fix. 
-        - Also replaced pop-up warning in dummy loop with terminal output instead.
-      * Changed: MidiDevice <-> Track routes replaced with MidiPort <-> Track routes. (T356)
-        - This allows to change a port's device (even to <none> !) while keeping all the track channel routes.
-      * Changed: Single midi <-> track route with channel mask, instead of one route-per-channel. (T356)
-        - Potentially saving very many routes from memory and in song file.
-10.09.2010
-      * Fixed: regression with oR routing for Aux strips (rj)
-05.09.2010
-      * Fixed: shortcut for insert moved to Ctrl+Shift+X (rj)
-      * Added: Select all toggle for midi channels iR menu (rj)
-      * Added: Auto-route-connect old songs with obsolete midi input port/channel masks (before iR button added). (T356) 
-        - Added MidiTrack::setInPortAndChannelMask() and called it from MidiTrack::read().
-03.09.2010
-      * Changed: Updated German localizations muse_de.qm and muse_de.ts from <babarosa [at] gmx.at> (T356)
-      * Added: Instrument definitions and drum maps for Kurzweil SP2X, from <babarosa [at] gmx.at> (T356)
-28.08.2010
-      * Created rc1 release for 1.1 (rj)
-      * Added: Instrument definitions for AKAI SG01 and Waldorf-microQ from <babarosa [at] gmx.at> (rj)
-23.08.2010
-      * Added: Possibility to turn on/off move-armed-track with track selection in settings (rj)
-21.08.2010
-      * Renamed: Soft synth configuration changed to Synth configuration, as per patch from Geoff King (rj)
-      * Fixed: Shortcuts with modifier keys wasn't working for global shortcuts, should be now (rj)
-      * Added: Shortcuts for changing len of events, default Ctrl+Shift+Left/Right (rj)
->>>>>>> .r459
-10.08.2010
-      * Fixed/Changed: Grid reacts to midi resolution change (rj)
-01.08.2010
-      * Added: Move track selection when part selection is moved, is this a good approach? (rj)
-      * Added: Backspace unarms all armed tracks (rj)
-24.07.2010
-      * Feature: Audio and midi routing popup menus now stay open, for making rapid connections. (T356)
-      * Fixed: Delete some objects hanging around upon close like song, audio, midiSeq, and prefetch. (T356)
-               TODO: Find a way to delete the 'muse' object without causing problems like seg faults.
-21.07.2010
-      * Improved: Note lanes in pianoroll and marking of C-notes (rj)
-20.07.2010
-      * Fixed: illegal shortcut no longer reported on startup (rj)
-18.07.2010
-      * Fixed: Handle errors during timer initialization more gracefully (rj)
-15.07.2010
-      * Added: Volume control for audio metronome (rj)
-12.07.2010
-      * Fixed: When wave files were edited allocation was on stack which caused crashes for larger selections, now done on heap (rj)
-      * Added: Print svn version in -v and About box. (rj)
-      * Fixed: Bug with RemoveShortEvents plugin script, would not remove anything due to index error (rj)
-10.07.2010
-      * Added: Insert measure, inserts empty space and moves everything after playpointer to the right and
-               Part-insert, pastes parts and moves everything after the paste point to the right
-               it's currently not possible to change the shortcuts for these, wip (rj)
-06.07.2010
-      * Added: Button in transport to enable/disable jack transport. (rj)
-      * Fixed: Dropdown Snap and Type in arranger toolbar no longer steal focus, annoyed the helloutame (rj)
-      * Fixed: Making edits to larger chunks in wave files no longer cause a crash, heap is used for allocation (rj)
-      * Improved: Part selection when navigating with keyboard, previously there was sometimes a need to use the mouse
-        to get a part selected, now the first one should be selected (rj)
-      * Added: some automation (very)wip stuff, not enabled, just to get it off my harddrive (rj)
-22.06.2010
-      * Fixed: Crashes loading a song while another is loaded. Or worse, it loads but saving corrupts the file! (T356)
-        - Song::clear(): Clear all midi port devices. Delete Jack midi devices, and remove all ALSA midi device routes.
-        - Route::read() Ignore bogus midi routes in med file if the device they refer to is not in use by the song (port is -1).
-        - MidiJackDevice::writeRouting(), MidiAlsaDevice::writeRouting(): Ignore and do not write midi routes if the device 
-           they refer to is not in use by the song (port is -1). This prevents bogus midi routes writing to med file.
-        - Fifo::~Fifo(): Free the buffers! Fifo::getWriteBuffer(), Fifo::put(): Verify allocation. Fifo::get(): Verify buffers.
-15.06.2010
-      * Fixed: Jack midi output: Sent pitch bend and program values were incorrect, if coming from midi keyboard. (T356)
-        - Reported by Pieter while using Hurdy Gurdy vst under fst. Tests OK now, here.
-      * Fixed: Drum editor: Controller graph not in current tool mode (pencil, eraser etc.), when first opened. (T356)
-        - Call setTool() in DrumEdit::addCtrl().
-      * Fixing: Drum editor: Velocity controller graph showing incorrect for selected drum, or showing for all drums, when first opened. (T356) 
-        - WIP. Still not quite correct, but at least now it doesn't show all drum velocities when first opened. 
-          (This is interesting! I will try to allow 'no drum' list selection, to show all drum velocities at once, just like piano roll.)
-13.06.2010
-      * Fixed: More fixes to marker list, selected item was still not right. (T356)
-03.06.2010
-      * Fixed: Time signature editing problems in master track list and gui. (T356)
-        - Fixed SigEdit::outOfRange(). Added Sig::isValid(), and check it in LMaster::returnPressed() to fix crash with 0 n or z.
-      * Fixed: Marker/list problems. Double entries. Pianoroll/arranger timescale 'shift-left/right-click-to-add/del-marker' fixed. 
-               Marker 'lock' (smpte/ticks) works now. Up/down buttons fixed. Marker list selection 'stays put' now 
-                when adding or deleting markers. (T356)
-      * Fixed: Graphics corruption in arranger and track list when vertically scrolling. (T356)
-        - Changed rectangle to full w/h in 'shift down' section of View::setYPos() and TList::setYPos().
-          Should not have to do this, but it cured my problems. No noticable change in speed.
-        - Arranger corruption occured on more than one machine with xorg nv, ati drivers. More severe arranger AND track list 
-           corruption occured with proprietary drivers. Corruption is also observed in several other windows (ex. ladspa browser) 
-           but there's not much I can do, the corruption is found in ordinary usage of QListView for example.
-      * Changed: Increased arranger vertical scroll step, was too slow to scroll. (T356)
-      * Possible fix: Auto-scroll in pianoroll and arranger take waaay too long to stop scrolling. (T356)
-        - Increased timer timeout from 40 to 80 ms in Canvas::scrollTimerDone(). Helped for me, on a 1.6Ghz P4...
-      * Changed: Ladspa plugin guis now have scroll bars. Helps when there are many controls. (T356)
-        - Still toying with the code a bit, please bear with me while I try to get it right.
-      * Started: Addition of MusE-native ladspa guis for dssi synths. (T356)
-        - No visible changes yet, just under the hood. Added class PluginIBase which is inherited by
-           DssiSynthIF and PluginI. Changed class PluginGui and DssiSynthIF to fit. 
-07.05.2010
-      * Fixed: Xml file trouble: Tag attributes not storing xml-friendly entities, trouble reloading song. (T356)
-        - Fixed all usages of Xml::nput, ::put, ::tag, and ::etag. Discovered by Geoff B.
-06.05.2010
-      * Fixed: Audio Input tracks: Loud noises or DC output with unconnected input routes. (T356)
-        - AudioInput::getData(): Do not get buffers of unconnected client ports. Causes repeating leftover data.
-      * Fixed: Audio Input tracks: Stereo processing not correct if both input routes connected to same port. (T356)
-        - AudioInput::getData(): Just copy the buffers always, don't set buffer pointer directly.
-      * Fixed: Effect rack plugins: Not saving correct number of plugin channels. Upon reload, channels are wrong. (T356)
-        - PluginI::writeConfiguration() and PluginI::readConfiguration(): Write and read the channels, not instances.
-        - Optimize TODO: Is xml plugin 'channel' really necessary? Well not now, but later if we optimize the effect rack
-           by not creating redundant plugin instances if the next plugin in the rack doesn't need them.
-          What I have changed is always make the number of plugin channels equal to the number of track channels.  
-          PluginI::setChannels() and PluginI::initPluginInstance() then sort out the details of how many instances to create.
-      * Fixed: Effect rack plugins: Some plugins crash MusE, for example plugins with no audio outputs. (T356)
-        - PluginI::setChannels() and PluginI::initPluginInstance(): Be more aware of different audio ins and outs. 
-      * Added: First draft help file README.effects-rack titled "Understanding the Effects Rack". (T356)
-        - Details how MusE uses plugins, especially now with these changes.
-27.04.2010
-      * Changed: Building: Separate --enable-dssi --enable-osc configure options. (T356) 
-        --enable-dssi (Enable dssi synths AND special handling of dssi-vst ladspa effect plugins. No guis if by itself.) and 
-        --enable-osc (Enable dssi guis. Useless by itself at the moment). 
-        Use both for best features. 
-      * Feature: If dssi and osc support are enabled, audio track effects rack dssi-vst plugins can now show their NATIVE guis. (T356)
-      * Fixed: Storing dssi synth states. Remembers current program, all configure strings, and control settings - for current program ONLY. (T356)
-        - With dssi-vst synths, some better are than others at remembering program.
-        - Todo: Ignore unwanted dssi-vst config strings/values like "guiVisible" "<name-of-fifo-file>" (gives non-fatal error on reload).
-      * Fixed: Dssi native synths (hexter, LTS etc.) should actually work now. Their gui controls operate the sounds now. (T356) 
-        - Todo: If using large audio buffers (Jack), my 'one-at-a-time-per-audio-process' osc control fifo streams kinda suck, 
-           with a delay in their processing. Want to try MULTIPLE 'run's or 'run-multiple's PER audio process, for SAMPLE accuracy and
-           better quicker message processing. Just need to add a timestamp to my osc fifo items, then all forms of change - whether
-           control, midi event, or program - have a timestamp with which we can SPLIT UP the runs into 'runs between changes'.
-      * Tip: Currently a patch to dssi-vst is required for their guis to update properly. (For now, ask about this on our lists.)
-21.04.2010
-      * Fixed: Shortcut for moving between tracks in arranger. Ctrl+Up/Down (rj)
-19.04.2010
-      * Patch: Fix for libdir bug causing synths to not be available on some 64bit systems. By Orcan Ogetbil (rj)
-      * Fixed: Drawing of grid when snaping to less than measure (rj)
-12.04.2010
-      * Fixed: LADSPA rack effects: Do not display LADSPA output controls (such as latency). (T356)
-      * Fixed: Bug when cancelling 'save as' operation, says 'file exists'. Caused by my earlier compressed save fixes. (T356)
-11.04.2010
-      * Fixed: DSSI requested midi mapped controls were not correct. (T356)
-      * Changed: Working on controllers, and saving their state. Synths like Organ should remember their state now. (T356)
-        - Working on DSSI controls... Working on OSC stuff...
-06.04.2010
-      * Fixed: Jack midi, and DSSI: Midi controller knobs, sliders, boxes etc. not updating with current values. (T356)
-        - Copied code in MidiPort::sendEvent() to JackMidi::processMidi() and DssiSynthIF::getData().
-      * Fixed: DSSI: Crashing with unkown controllers sent to synths. (T356)
-        - Ignore unkown controllers in DssiSynthIF::processEvent(). 
-05.04.2010
-      * Added: Rec enabled track moved with selection when only one track is rec enabled (rj)
-      * Changed: Made canvas show grid the default (rj)
-      * Added: Jack midi ports can now be renamed in the ports list dialog, by clicking on the name. (T356)
-        - Also cleaned up ports list behaviour and added tooltips.
-30.03.2010
-      * Major reworks: Jack midi, routing system, multichannel synth ins/outs, midi strips and trackinfo pane. (T356)
-        - WORK IN PROGRESS. Should be usable for current projects.
-        - ADVISORY: If opening current projects you are advised to "save as" or back up your med files (waves should be OK)
-           until all is deemed to be working OK. It is possible more changes to .med file structure are needed later.
-        - Some .med project file structures have CHANGED (like routing). I have tested opening large existing projects, 
-           then re-saving them. OK so far.
-          However, I have not added importing code for the old midi trackinfo panel 'input port' and 'input channel' boxes (gone now).
-          If you want to wait, I am planning to do that, but later... Otherwise you must re-enter them with the new midi input routing.
-        - ** Multichannel synth inputs and outputs: Fairly satisfied with popup menus, hopefully no major reworks... 
-          Routing system fully supports multichannel synth mono/stero paths but is NOT COMPLETE yet. 
-          When changing a connected track from stereo to mono, there is no coding yet to ensure the existing stereo routes are 
-           changed from stereo to mono (just like the audio input and output tracks have always done with Jack routes).
-          Also coding must be added to avoid simultaneous mono and stereo routes - make them mutually exclusive - although
-           there's nothing technically wrong with it, it's just not desirable. 
-        - ** Jack midi: You now create your own Jack midi ports. I have not added any means to delete them yet, but I believe
-           if you 'unselect' them in the midi ports list so that they are not used, then the saved .med file will ignore them.
-        - Multi-instances of MusE should work OK now - all ports should hopefully have unique names.    
-        - Number of midi ports increased from 32 to 128. It's a bit much for the ports list, was planning "create your own
-           midi port as needed" (like RG). Obstacles seem to have been cleared now, but it would be a big job (lots of places to change).
-        - Along the way various tweaks and fixes when I spotted them.
-18.02.2010
-      * Added: Separate Jack midi client ports per MusE port. (T356)
-        - For now, you will have to manually add further connections to those ports if desired, each session.
-        - Tested OK rec/play so far.
-      * Fixed: Some inconsistencies in midi controller number decoding. (T356)
-        - Everything now references the values listed in midictrl.h
-      * Fixed: Some Jack code was not calling free after calling certain functions. (T356)
-      * Changed: Midi priority now deaults to audio priority +1. (T356)
-        - Thanks to RJ for the convincing argument.
-14.02.2010
-      * Added: Jack midi input should be working now. Controllers, too. (T356)
-        - Tested with large 1024 frame buffer. Events are recorded with good sub-tick (frame) resolution,
-           as viewed in pianoroll with 64T snap grid. 
-13.02.2010
-      * Fixed: Jack midi output should now be frame-accurate, support variable length events (like sysex), 
-                and most controllers should work. (T356)
-        - TODO: No record yet. Just playback. 
-        - TODO: I have code in place for multiple device listing (like ALSA) with auto-connect, 
-           instead of single 'jackmidi' device, but it doesn't seem to want to actually connect. 
-          Simply enable the #define JACK_MIDI_SHOW_MULTIPLE_DEVICES in driver/jackmidi.h 
-           and it will magically switch. Shows port names as their alias #1 (with a rem'able line to 
-           revert to non-alias names - to be made configurable later). I swear it was working, 
-           then intermittent, then not at all. Hmm...
-06.02.2010
-      * Fixed: MusE hanging on close, with Jack driver. (T356)
-        - Unregister Jack midi ports on destruction of JackAudioDevice.
-05.02.2010
-      * Fixed: Top level windows: Do not open if there are no parts. Case: bogus -1 top-level part index stored in med file. (T356)
-        - Changed MusE::readToplevels() and stuff in listedit.cpp
-        - Was causing crash of list editor upon loading a song saved with the list editor open. 
-          Somehow a bogus -1 top-level part index can make it in to the .med file. Checking this...
-      * Changed: Preparations for audio processors: Moved stuff out of class Event and into class WavePart. (T356)
-        - WavePart needs a converter map to lookup events in the part's (shared) event list, in case clones exist !
-          Ughh, it's going to be tough to ensure the map is always correct because an event cannot tell what part owns it...
-04.02.2010
-      * Improved: Grid handling in arranger improved, it should now be actually usable (rj)
-01.02.2010
-      * Fixed: Jack midi output: Stuck or missing notes. (T356)
-        - Must only be one jack_midi_event_reserve() per event in handle_jack_midi_out_events().
-31.01.2010
-      * Changed: Midi sync window: Clock is now seperated from other real time commands (play/stop etc). (T356)
-31.01.2010
-      * Fixed: Midi sync in: Should be very solid and 'in time' now, play/stop/continue. (T356)
-        - Re-coded to begin incrementing immediately upon first-clock detection. Forbid MusE to send transport commands 
-           while in external sync mode - our sync router handles that. Was causing problems. 
-        - Tested OK: Ensoniq ESQ-1 KB (sends clocks ony between start and stop) and Roland TR-505 drums (clocks always running). 
-          The measured general timings were quite different, but (thankfully) clocks and events were not. 
-        - MusE responds better to the TR-505 than the ESQ-1 does with a direct midi cable connection! (ESQ gains ticks on continue).
-      * Added: Midi sync window: 'Rewind on start' column. (Also a 'Send first clock delay' box - not implemented yet). (T356)
-29.01.2010
-      * Feature: Dummy audio driver: Added global settings for sample rate and period size. (T356)
-        - The period size affects midi resolution, and the default was just too long. So this was added.
-27.01.2010
-      * Changed: Don't process audio prefetch, or getData() in Audio::copyData(), if track is 'Off'. (T356)
-      * Added: Arranger track list: Quick 'right-click' or 'ctrl-click' or 'ctrl-mouse-wheel' toggling of Track On/Off. (T356) 
-        - Note this includes midi tracks now! Remains to be seen whether allowing midi off is useful and will work, 
-           or should be filtered out. **TODO: Turn off remaining controls in midi strips, turn off actual midi playback and record.
-      * Feature: Initial Jack midi support. Imported from Larry Valkama's GIT repo. (T356)
-26.01.2010
-      * Fixed: Import midi 'replace' broken last fixes. (T356)
-      * Fixed: External midi sync: Wait until first clock after start to start transport, and >= second clock to increment ticks. (T356)
-24.01.2010
-      * Added: Midi sync: Added 'Jack timebase master' checkbox, removed requirement of MusE being tempo map master. (T356)
-      * Added: While on external sync and Jack timebase master, reports correct MusE BBT info to Jack. (Tempo not correct yet). (T356)
-      * Added: Midi import option: Whether to split imported tracks into multiple parts. (T356)
-23.01.2010
-      * Fixed: External midi sync in: MusE transport not rewinding upon reception of start. (T356)
-      * Added: Midi sync: MusE now transmits and receives some MMC commands, and displays some MTC and SMTPE info. (T356)
-        - No transmit MTC or receive MTC syncing yet, just transport control stuff.
-        - Tested OK with Rosegarden and Ardour, but they do not seem to have an option to sync to the input midi clock, 
-           only MTC or internally. Must test when MTC output added to MusE. 
-      * Improved: Midi sync editor window: Shows MMC and MTC activity and works with them now. (T356)
-21.01.2010
-      * Fixed: First tests: External midi sync in works now! Should be rock solid no matter what is thrown at it. (T356)
-        - All changes are labeled "p3.3.25"
-        - Switched to a 'direct drive' method instead of 'calculation of tempo' method.
-          Drift between source of master and slave is non-existant since the incoming midi clocks 
-           drive the midi engine directly. This is at the expense of exact 64th note resolution.
-          At MusE's fixed 24 midi clocks per quarternote, triplet 32nd notes are resolved (32nd note divided by three).
-          MusE's default 'division' (ticks per quarternote) is 384. 384/24 gives a division of 16 MusE 'ticks' per midi clock.
-        - Normally when using the tempo map (external sync is off), device play event times are in frames,
-           because the tempo map provides for that kind of sub-tick frame resolution.
-          But now, during external sync, device play event times are in ticks, not frames. 
-          Hence the compromise between exactness of note times, and master/slave drift.
-        - Tested heavily with a Roland TR-505 which has a variable 'analog' tempo knob.  
-          Combined that with a complete midi song, and other test 'tick' tracks driving external synth KB,
-           was rock solid going 'absolutely nuts' with the tempo knob up to 260BPM, surprisingly good resolution.
-        - TODO: Check safety of 'midiExtSyncTicks = 0' inside audio thread while midi thread is counting it up.
-          Also fix seek operations and check for any more place needing these 'tick'frame' alterations.
-      * Changed: Some more changes for compressed files operations. (T356)
-        - More to be done, but tests OK so far.    
-19.01.2010
-      * Fixed: Saving/loading compressed .gz/.bz2 MusE .med files, + loading compressed .mid/.kar files (save broken, off for now). (T356)
-        - Changed filedialog.cpp:getSaveFileName() and MusE::loadProjectFile1.
-        - Added seperate save file dialog filters in globals.cpp.
-        - Disabled exporting of compressed midi/karaoke files (.mid/.kar) for now because
-           a compressed file is opened as a pipe, and pipes can't seek, resulting in a 
-           corrupted midi file in MidiFile::writeTrack(). 
-18.01.2010
-      * Added: Piano roll and drum editor edit menus: "Select prev/next part". With default hotkeys Alt+Left/Right. (T356) 
-        - This is an easy way to switch parts when multiple part editing in one window (via Ctrl-E or Ctrl-D).
-          And it was absolutely essential, for multiple dedicated controller track editing since there are no notes,
-           and no (other) way to select another part to edit.
-17.01.2010
-      * Feature: MusE now has two mixers, with selectable track type display. (T356)
-        - Changes to .med file were needed. Tested OK so far with old and new song files.
-      * Fixed: Builtin freeverb and TAP reverb ladspa GUIs, or custom user GUIs not showing controls. (T356)
-        - Broken since removal of musewidgetsplugin library months ago.
-          Added PluginWidgetFactory class to handle local creation of controls.
-          (Custom user GUIs must be done by hand since the removal of musewidgetsplugin library).
-      * Fixed: Appearance settings red colour adjustment larger than others. (T356)
-      * Changed: Default controller graph foreground colour from blue to medium orange. (T356)
-        - Avoid clash with blue colour used by left and right markers.
-12.01.2010
-      * Release: 1.0.1 (rj)
-10.01.2010
-      * Fixed: python detection exchanged for script from http://libvirt.org/ (rj)
-09.01.2010
-      * Removed: Disabled watchdog thread. (T356)
-        - Tested OK (normally) without it, although behaviour needs to be tested if audio or midi thread
-           would stop unexpectedly.
-      * Changed/Fixed: Thread priorites: Added command line switches for audio (-P) and midi (-Y). (T356)
-        - Audio (-P) applies to dummy driver only. (Else audio priority is fixed by Jack).   
-        - Also changed default settings so that no two threads have same priority. May fix problem reported
-           by user GB, concerning high midi latency.
-      * Added: Enable/disable LASH command line switch (-L), (if LASH support is compiled in). (T356)
-        - Helps prevent some issues like auto-starting Jack, or automatically routing midi to fluidsynth (observed).
-07.01.2010
-      * Fixed: BUG ID: 2879426: *.med does not save meta event types. (T356)
-        - Changed midievent.cpp MidiEventBase::write(). Now saves value A, B, C and sysex/meta data. Tested OK.  
-      * Fixed: Midi meters now show for each track even if they're all on same device and channel. (T356)
-        - Oversight, long overdue. The meters AND automation control needed to be 'per-track'.
-      * Applied: muse-destdir.patch Scripts and utils packaging fix submitted by Orcan Ogetbil. (T356)
-06.01.2010
-      * Feature: Jack transport enable/disable in Midi Sync settings window. Stores setting per-song. (T356)
-        - Should be Ok to use and test. Needs a bit more work. See jack.cpp and jackaudio.h
-      * Fixed: Speedups of audio pre-fetch especially when moving the cursor around (seeking). (T356)
-23.12.2009:
-      * Added: DeicsOnze2 initial import. (ng)
-      * Fix: deicsonzepreset.cpp for Xml muse 1 API
-20.12.2009:
-      =======================================
-      * 1.0 tagged (rj)
-      =======================================
-19.12.2009:
-      * Feature/Fix: Audio metronome: Send output tracks now selectable in Settings->Metronome. Also fixed bad noises.(T356)
-15.12.2009:
-      * Patch: New patch for 64-bit memory issues, from Daniel Kobras (rj)
-      * Reworked: Output of configure script to point out deprecated stuff and list the interesting stuff (rj)
-      * Fixed: Old bug: WaveTrack muting slow to respond or odd behaviour. (T356)
-        - Removed track mute check in WaveTrack::fetchData(). Was causing 'delayed repeated muting' since the mute check is
-           done at a time when audio segments are fetched which are to played a few seconds into the future.
-          Tested OK so far, playing and bouncing wavetracks. Mute is now quick to respond and does not 'repeat' or 'delay'.
-14.12.2009:
-      * Fixed: Overhauled AudioTrack processing. Fixes noises if multiple output routes exist. Eliminates costly redundant
-                processing of audio tracks, and their effects racks. Waves, groups, inputs, outputs, synths etc. (T356)
-        - Made better use of AudioTrack::outBuffers, as a 'post-effect/pre-volume' caching mechanism if the track has more than one 
-           output route. WaveTrack was already using this scheme, but I moved it up 'higher' and now all tracks benefit from it.
-        - See AudioTrack::copyData() and ::addData(). Most changes there. (Comments included!)
-      * Fixed: Old songs made before recent synth changes were not loading their synths. (T356)
-        - In .med file, added synth 'label' tag to go with existing 'class' tag, to support synths like dssi-vst.
-        - Songs made recently after the changes might not load their synths and will simply have to be re loaded and re-saved.
-07.12.2009:
-      * Fixed: Add Synth popup menu: Show names AND descriptions. Now sorted, too. Also separate MESS, DSSI, VST, and Other. (T356)
-        - Added app.cpp:populateAddSynth() function.
-      * Fixed: Increased buffers for reading xml. Song files with large patchdata from vstis caused crashes (rj)
-      * Fixed: Self inflicted bug with setting inital song loading in general configuration (rj)
-06.12.2009:
-      * Fixed: List popup synths by description. Cleaned up soft synth main list. Added persistent names, descriptions, ver, etc. (T356)
-05.12.2009:
-      * Fixed: ddsi synths: Ticking or crackling when more than one output route path. (T356)
-        - The synths were being run more than once per process cycle, due to multiple out routes eventually calling getData.
-        - ** Work in progress - must also do MESS synths and other track types which should only process once per cycle. 
-      * Feature: SSE support configure build option and SSE enabled dsp routines added. (T356)  
-        - Currently none of the routines are actually used, yet... Borrowed from MusE-2.
-        - They appear to only be enabled for 64-bit CPUs. Investigating why not 32-bit...
-      * Feature: i386 optimized dsp float buffer copy routines. (T356)
-        - Should work on all i386 compatible CPUs (uses asm movsl). Borrowed from MusE-2
-        - I couldn't bear to add yet another unoptimized memcpy usage, so I added this.
-      * Changed: All audio buffers now allocated with 'posix_memalign' instead of 'new'. (T356)
-        - Borrowed from MusE-2.
-03.12.2009:
-      * Fixed: Support for initial vst chunk storage support if available in dssi-vst 
-        requires a patch to dssi-vst.
-      * Fixed: Better cleanup on closing MusE. (T356)
-        - Added Song::cleanupForQuit called from Muse::closeEvent. Disconnect gracefully from LASH before app quit.
-          Clean up memory. Make vst synth processes which were in undo or redo list at close go away.
-02.12.2009:
-      * Fixed: Do not send default midi values back to dssi synths. Let them handle their own default setting mechanisms. (T356)
-        - Also saves a bit of loading time for synths with hundreds of controls. See MidiPort::setMidiDevice(). 
-02.12.2009:
-      * Fixed: dssi: Crashes when loading most vst synths. (T356)
-        - All ports must be connected even if not used.
-          Made sure all audio in/out and control in/out ports are connected,
-           including latency control out port. Test Ok.
-30.11.2009:
-      * Added: Configuration option for vst plugin in-place processing, fixes ladspa vst plugins not working or loud feedback. (T356)
-        - Hmmm, they were working before when I upgraded OS. Now they're not. Extensive testing: It seems this is not MusE's fault.
-        - R.J. reports they weren't working too. Investigating...
-29.11.2009:
-      * Fixed: dssi: Loading of synths with more than 2 out channels. (T356)
-        - Currently only the FIRST TWO channels of the synth will be used.
-        - Tested ok so far with A.D. drumkit.
-28.11.2009:
-      * Fixed: dssi: List only synths found, not effect plugins. (T356)
-        - Does the exact opposite of what dssi-vst does for ladspa plugins,
-           therefore all plugins should be covered - effects will be listed 
-           in ladspa effect dialog, while synths will be listed as synths.
-27.11.2009:
-      * Fixed: dssi: Both native guis and vst guis should open now. Ooooh - pretty! (T356)
-        - ** But still: Keep an eye on your process list and manually kill any 
-           synth instances lying around after exit. For now try to 'politely' 
-           close dssi guis and delete any dssi synth tracks before exiting muse.
-        - Working on gui open-close-reopen-show-hide stuff. Kinda weird esp. with vsts right now...
-26.11.2009:
-      * Fixed: Loading dssi crash bug. Should at least load them now. (T356)
-        - Also some controller functionality via track controllers...
-25.11.2009:
-      * Feature: Dis.. Dis.. Disposable wha? (T356)
-        - dssi support. Work in progress. 
-        - ** VERY IMPORTANT Currently you must manually 'kill' any synth instances lying around after exit !!!
-        - Should work OK for tests and fun...
-22.11.2009:
-      * Added: Support for reading ogg files through libsndfile (rj)
-18.11.2009:
-      * Fixed: Audio and synth tracks not processing when output path ultimately leads nowhere. (T356)
-        - ALL tracks now always animate meters, and process audio 'quietly', and synth tracks
-           process their gui messages, if output path leads nowhere.
-        - This fixes a few problems: For example fluidsynth was not allowing loading of soundfonts.
-          And synths would suddenly 'dump' any backlogged events when processing was turned back on.
-          And during play, when disconnecting and reconnecting the track outputs, the audio would be 
-           out of sync because it was not processed during that time.
-        - See Audio::process1() to understand the changes more. Follow from there to SynthI, SynthIF etc.  
-      * Fixed: Minor issue with port 0 display in track list port column for synths, from previous fix. (T356)  
-17.11.2009:
-      * Changed again: Arranger: Track list: Left click synth track's port column now lets you choose a port. (T356)
-      * Fixed: Do not list synths as instruments in ports/synths settings window. (T356)
-16.11.2009:
-      * Added: Script functionality moved from PianoRoll to song class, available in main menu (under 'Midi') 
-        and drum editor (mg)
-      * Added: 'Add synth' sub-menus now automatically assign the instance to a free midi port. (T356)
-15.11.2009:
-      * Added: Added 'Add synth' sub-menu to main 'Edit menu' and Mixer 'Create' menu. (T356) 
-      * Changed: All audio track types now start with two channels and 0db volume. (Input tracks remain muted as usual). (T356)
-      * Fixed: Organ synth: Drawbar harmonics and sustain midi controllers were not working. (T356)
-        - Applied auto-bias corrections.
-14.11.2009:
-      * Added: DoubleSpeed plugin script for PianoRoll (mg)
-      * Fixed: Disable Python ifdefs (mg)
-13.11.2009:
-      * Feature: Mixer labels: Auto-Font-Size(TM) using Appearance Settings font # 6. Word wrap (only with spaces) supported. (T356)
-        - The mixer labels will try to fit the text, trying font size from font #6 point size down to point size = 5.
-      * Feature: Arranger: Track list: Right-click 'Add ...' now lists soft synths ! (T356)
-      * Feature: Arranger: Track list: Left/right click synth track's output port column now shows synth gui ! (T356)
-      * Changed: Midi track info: Removed redundant track name box, changed label to behave like mixer strip. (T356)
-      * Fixed:   Appearance Settings: Manual entry into font name boxes now works. (T356)
-      * Fixed:   Appearance Settings: Added tooltips to font #0 - #6. Explains which font does what. (T356)
-12.11.2009:
-      * Fixes: Some Python API refcount code added (mg)
-10.11.2009:
-      * Added: Effect disable/enable + add/remove track to Python API (mg)
-09.11.2009:
-      * Feature: Added 'Echo recording to output' button to midi track info panel. (T356)
-        - Turns on or off echoing of incoming record events to output device.
-      * Fixed: Midi tracks not recording when no output device selected. (T356)
-        - Now tracks will record with no output device selected.
-      * Fixed: Problems since increasing number of midi ports from 16 to 32 several months ago. (T356)
-        - Added Xml::parseUInt() and ::uintTag(), utils.cpp:u32bitmap2String() and string2u32bitmap().
-        - Fixed saving and loading of input port mask in med files.
-        - Fixed display of input port mask in track info panel.
-08.11.2009:
-      * Added: First test shot at part managing app in Python (mg)
-      * Added: Python api functions for selected track + import of part file (mg)
-06.11.2009
-      * Fixed: Python configure.ac problems. (T356)
-      * Removed: musewidgetsplugin (QT3 Designer widgets plugin) which may cause CVS build to fail with libtool2. (T356)
-        - Infamous '-o' trick no longer required to build from CVS. Removed until further notice. 
-04.11.2009
-      * Added: Shortcuts to drumeditor + pianoroll: goto current pos, scroll left + right (mg)
-      * Fixed: Added command line switch (-y) for enabling Python control - disabled as default (mg)
-      * Added: Shortcut keys added to pianoroll and drumeditor (mg)
-      * Added: Startup dialog showing 'good to know' info, can be disabled (rj)
-      * Added: Song info dialog, can be used to record song related arbitrary text information (rj)
-      * Changed: the output limiter is now configurale, and by default off (rj)
-      * Fixed: Midi loop recording now honours the transport cycle record mode setting. (T356)
-        - Cycle mode REPLACE: Only record notes in current loop. Erase any previous loop notes from rec stop pos to loop end.
-        - Cycle mode NORMAL: Same as REPLACE, but don't erase any previous loop notes from rec stop pos to loop end.
-        - Cycle mode MIX: Keep all recorded notes from all loops.
-        - Use the transport record mode OVERDUB or REPLACE as usual to either mix with or replace existing track notes.
-      * Fixed: Midi record (incl. new part, looping, part auto-extend) now honours the arranger snap selection. (T356)
-        - Previously the left and right ends of the part would always be 'snapped' to bars, and any new notes recorded 
-           past the end would not snap the part.  
-      * Changed: muse/mpevent.h: Changed MREL list from using audioRTalloc to midiRTalloc. (T356)
-        - This must have been a mistake? midiRTalloc was not even being used anywhere before. The comment lines gave clues. 
-      * Fixed: Multiple copies of wave events appearing in wave parts after resizing part. (T356)
-        - Changed EventList::find() to respect wave or midi. D'oh! Missed this obvious one from changes I made many months ago.
-      * Fixed: Audio loop recording now respects arranger snap setting. (T356)
-        - Previously the left and right ends of the part would always be 'snapped' to bars.
-      * Fixed: Audio recording now respects punchin and punchout points. (T356)  
-      * Fixed: Audio loop recording now works (currently replace mode only). (T356)  
-        - WORK IN PROGRESS: Only overwrite (replace) mode supported. Working on overdub mode...
-        - If recording is started INSIDE the loop points, then allowed to loop, the
-           'zeroth loop' wave contents will be 'shifted' back to the left loop point.
-          This may have to change if mix mode is to be supported. In other words 
-           keep that 'zeroth' portion of wave in place. May change it anyway. 
-02.11.2009
-      * Added: Midi track controller + audio track volume to Python interface (mg)
-28.10.2009
-      * Fixed: No, or badly shifted wave recording, since libsndfile 2008-05-11 (T356)
-        - Fix for recorded waves being shifted ahead by an amount equal to start record position.
-        - Removed _recFile->seek() in AudioTrack::record(). Since libsndfile 2008-05-11, "seeking past 
-           end of file during write" is allowed, which caused problem with the line seeking the record
-           file to an absolute frame which *included* the recording start position.
-25.10.2009
-      * Added: Mute functionality to Python interface (mg)
-      * Fixed: Midi mixerstrip mute update issues (mg)
-      * Fixed: initialization in pandelay ladspa plugin (rj) 
-21.10.2009:
-      * Added: functions for looping to Python interface (mg)
-19.10.2009:
-      * Added: more functions to Python interface: deletePart, set position of locators, get/set song 
-      length, get division, set midi track parameters (mg)
-      * Added: now possible to create and modify parts via Python bridge (mg)
-18.10.2009
-      * Added: backported ladspa plugins doublechorus and pandelay from svn-muse (rj)
-      * Fixed: Mixer was not updating when a midi track's channel was changed. (T356)
-        - Created a new song changed flag SC_MIDI_CHANNEL and used it to only update mixer midi strips,
-           not the whole mixer. Changed AudioMixerApp::songChanged() and ::updateMixer().
-      * Fixed: Mixer was not shrinking enough when a track was removed, leaving space between strips. (T356)
-        - Added a couple of lines to AudioMixerApp::updateMixer() STRIP_REMOVED section.
-      * Fixed: Bug with reading soundfonts from song dir fixed (rj)
-17.10.2009
-      * Examples: added some example scripts, DoNothing and RemoveShortEvents (currently requires PyQt4) (rj)
-      * Added: more tags to plugin format in pianoroll, see readme in dist: share/scripts (rj)
-      * Added: Updates to Python API, now possible to modify part data. Needs a lot of testing (mg)
-16.10.2009
-      * Added: Added a few functions to Python remote API (start/stop playback + location queries)
-      * Feature: Each drum instrument listed in the drum map now has a playback 'volume' setting. (T356)
-        - Currently it affects playback only. I am looking to maybe add record level, too.
-      * Changed: Default drum map velocity level 3 (110) and 4 (127), now 127, 110. (T356)
-        - To allow easy (no key hold) drawing of default 110 velocity notes.
-          (Hold shift = 127, ctl= 90, shift+ctl = 70)
-      * Fixed: Drum editor controller graphs now align perfectly with editor canvas. (T356)
-        - Changed DrumEdit::newCanvasWidth().
-        - Tested OK with various appearance themes, and various vertical splitter positions.
-      * Fixed: Drum map length, velocity level, and volume columns rapid mid-/right- clicks causing left double-clicks. (T356)
-        - Now the columns can be quickly mid and right clicked (decrement/increment).
-      * Fixed: Fluidsynth now realizes that a soundfont was located in the song-dir and then omitts 
-        the path in the configuration data. (rj)
-      * Changed: Changed the format of the datafile for the automation option in the pianoroll
-        Mathias, we can wrestle about it later ;-)   (rj)
-15.10.2009
-      * Feature: First version of MusE remote Python control (mg)
-      * Fixed: Drum canvas 'select' functions not updating, can't copy/cut etc. (T356)
-        - Added updateSelection() to the end of DrumCanvas::cmd(). Tested OK.
-12.10.2009
-      * Feature: External scripting functionality added via PianoRoll menu: (mg)
-         PianoRoll scans INSTPREFIX/share/muse/scripts and ~/.muse/scripts for executables, which modify part 
-         data via data stored in temporary file
-
-25.08.2009
-      * Proposal: new default colors for various stuff (rj)
-12.08.2009
-      * Fixed: bug 2811156, soft synth and marker window no longer appear when hidden for XFCE window manager (rj)
-15.07.2009
-      * Patch: from bug 2819312 (by Gerardo Exequiel Pozzi) added. Allows muse to launch with never glibc. The fix is
-        perhaps not fully understood but it looks harmless. (rj)
-09.07.2009
-      * Changed: Track info program, vol, and pan spinboxes now lose focus with one enter press instead of two. (T356)
-05.07.2009
-      * Fixed: Small fix on behalf of T356, Jack should not be started if running -a (rj)
-      * Fixed: Help menu -> Report a Bug: Set address to current muse org bug address. (T356)
-01.07.2009
-      * Fixed: Dropdown menus in transport no longer grab focus, make space start/stop work again (rj)
-      * Fixed: Dropdown in Mastertrack editor no longer grabs focus (rj)
-      * Feature: Added denormal protection, by default on, can be turned off in global config (rj)
-25.06.2009
-      * Fixed: Recording of midi sysex was not working. (T356)
-        - My fault since recent midi sync changes. Fixed the last few lines in alsaProcessMidiInput().
-      * Fixed: Segfault when certain movements are done in track list. (T356)
-        - Added valid track check to RESIZE section of TList::mouseMoveEvent(), 
-           and a few other places.
-23.06.2009
-      * Testing: A fix for some Jack-2 net problems...  (T356)
-        - Added missing break statements, and JackTransportNetStarting detection 
-           (hard-coded as '4' for now so that muse will build with Jack 1 and 2 - we need 
-           config detection of Jack version!) to processSync(), and JackAudioDevice::getState().
-21.06.2009
-      * Feature: Added Jack freewheel mode. (T356)
-        - Dramatically speeds up bounce to file and bounce to track operations.
-          With freewheel enabled, you don't have to wait for Muse to play the song 
-           at normal speed while bouncing - it goes as fast as possible.
-        - Added configuration option for it. See 'Global Settings -> Audio'.
-20.06.2009
-      =======================================
-      * 1.0rc3 tagged (rj)
-      =======================================
-      * Feature: Jack transport master functionality added. (T356)
-        - Allows other Jack client apps to properly disply Muse's current bar, beat, and tick.
-        - Especially useful for songs with tempo and time signature changes.
-        - It is activated / deactivated by clicking on Muse's transport 'Master', 
-           or Muse's graphic Mastertrack window 'Enable'.
-17.06.2009
-      * Fixed: Segfault after creating simpledrums instance, then adding a midi track. (T356)
-        - Return non zero in SimpleSynth::getPatchName().
-15.06.2009
-      * Removed: Some code in jack driver which may cause shutdowns or static noise with Jack version 1 (T356)
-        - Tested several hours here, no shutdowns or sudden static noise. Thanks to the Jack team for that one...
-13.06.2009
-      * Fixed: New midi right-click popup menu 'add/set event' and 'erase event' not working for drum controllers. (T356)
-        - Also, on 'add/set', added check and ignore if an existing event value is already equal. 
-      * Fixed: Midi track info vol, pan, prog 'Rec' buttons were allowing duplicate events. (T356)
-        - Added check for existing event in Song::recordEvent().
-        - Also added check and ignore if event value is already equal.
-10.06.2009
-      * Fixed: Link error concerning libmidiedit.a and CtrlEdit.a (T356)
-        - Somehow the list of link libraries was out of order. Reordered, tested OK.
-05.06.2009
-      * Fixed: Users in some locales reported audio automation save/load corruption. (T356)
-        - Changed CtrlList::read() to use QString and QLocale instead of strtol() and strtod().
-        - Checked: Other places using QString::toDouble() work OK because QString will fallback 
-           to 'C' locale if formatting using current locale fails. (Hmm... But is it a speed hit?)
-      * Fixed: When linking, get errors concerning uuid functions not found. (T356)
-        - Added a section in configure.ac to test for uuid.h and libuuid.
-        - Added uuid lib to list of linked libs.
-      * Fixed: Midi port controller values not erased upon song load. (T356)
-        - There were leftover ghost values in the controller graphs between song loads.
-        - Added MidiCtrlValListList::clearDelete(), called from Song::clear().
-      * Added: Right-click automation popup menu to all midi controller knobs/sliders. (T356)
-        - Contains add/set event, and erase event.
-        - When activated by the muse mixer midi controls, it 'prefers' selected parts on the track
-           over unselected parts, otherwise it chooses the first part found. If no part is found, 
-           it creates a new one to contain the event.
-        - When activated by pianoroll or drum editor controller graph, it uses the currently 
-           selected part (within the editor).
-        - Adding 'previous event', 'next event', 'erase range' and 'clear automation', just like
-           the audio automation popup menu, will take more time. Not implemented yet.
-      * Disabled: Midi mixer strip automation type button. (T356)
-        - There is no midi automation recording mechanism (yet). Disabled to avoid confusion with users.
-      * Added: Some new instrument .idf files submitted by MST (Michael). (T356) 
-        - Akai SG01v, Korg MS2000R, Korg X5DR, Korg X50, Waldorf MicroQ.
-02.06.2009
-      * Applied: Some patches by Mandriva packagers. (T356)
-        - muse-1.0-fix-str-fmt.patch for deicsonze printf fix.
-        - muse-1.0-linkage.patch fixes compiler hang up at deicsonze.cpp.
-01.06.2009
-      * Fixed: Instrument editor 'Save as' was not working right. (T356)
-        - Was overwriting existing instrument.
-        - Now prompts for new instrument name.
-      * Added text in ctrl view to explain how to add controller values (rj)
-
-24.05.2009
-      * Fixed: Missing uuid header in two files. (T356)
-        - My fault. Added include uuid/uuid.h to songfile.cpp and pcanvas.cpp.
-      * Fixed: Bounce to track: Wrong message "Select one audio output track", to "Select one target wave track". (T356)
-        - My fault. Message is displayed when there is one output and one or more wave tracks, and the user has clicked 
-           on the output but not a track, too.
-      * Added: Start 'Wave editor' edit menu item, with configurable shortcut key. (T356)
-        - This will handle mutiple wave part editing. The existing right-click wave part popup menu
-           'wave edit' item did that too, but now has been reverted back to opening a single 
-           wavepart only, just like midi parts. 
-      * Streamlined: All reading of 'part' xml is now done by a new routine. (T356)
-        - Replaced new PartCanvas::readClone(), and existing Part::read(), with standalone readXmlPart(),
-           in order to block creation of parts with mis-matched type, which don't belong on a track.
-        - Allowed mixed part .mpt files (midi and wave), and made a new clipboard type 'text/mixedpart'.
-        - Mixed part files can be dragged, imported or pasted to either a wave or midi track, and only the 
-           relevant parts will be created. 
-        - Added warning dialog showing how many, of how many total, parts couldn't be created.
-        - Added a parameter to Event::write() and EventBase::write() to force full wave file paths to be stored.
-          Used for copying, pasting, dragging, importing, exporting parts, but not for the song file itself.
-       * Added: Right-click wave part popup menu now has 'export', just like midi parts. (T356)
-        - As mentioned above, the full wave path is stored so there's minimum confusion when re-loading 
-           the export, unless of course the file moved or was deleted etc.
-       * Fixed: Some issues with clones, controller events, and port controller values. (T356)
-        - It means "What you see on the controller graph is what you get, when you move the play cursor."
-          Port controller values are used when moving the cursor, they make the knobs move and send
-           values to the midi port. However, during play, they are not used, the song's controller events
-           themselves are used. Synchronizing these two mechanisms is what this is all about.
-          Fortunately, during play, "What you see on the controller graph" is ALWAYS correct, and is sent 
-           to the midi port. 
-        - TODO: Not quite done yet. Some functions may not update port controller values properly still,
-           like splitting or gluing clone parts.
-06.05.2009
-      =======================================
-      * 1.0rc2 tagged (rj)
-      =======================================
-
-02.05.2009
-      * Feature: Right-click popup menu on a clone part now has "Select N clones", where N is number of clones. (T356)
-        - Major addition: Part "clone chaining system". (See part.cpp for new functions). Speeds up searches for clones.
-      * Feature: Added 'Paste clone' to arranger edit menu. Pastes clones of copied parts. (T356)
-        - 'Paste' will behave as always, only making a fresh copy of non-clone parts, while cloning clone parts.
-        - 'Paste clone' will always make a clone no matter if the parts are clones or non-clones.
-      * Feature: Added 'Paste to track' and 'Paste clone to track' to arranger edit menu. (T356)
-        - 'Paste' (and 'Paste clone') now attempt to paste to the original track(s) which the parts belonged to, 
-           or if the original track has been deleted, then the current track. 
-          'Paste to track' and 'Paste clone to track' paste all copied parts to the currently selected track, 
-           which was the previous behaviour of 'Paste'.
-        - Much work went into making sure that all scenarios work with these features, like copy/paste, drag/drop, 
-           drag/drop .mpt part files, drag/drop between different instances of muse etc.
-      * Fixed: Importing or dragging midi part file (.mpt) into muse now supports multiple parts in the file. (T356)
-        - Changed MusE::importPartToTrack().  
-      * Fixed: Midi record into existing part past part end, in 'Replace' record mode, works now. (T356)
-        - Finished an erase events 'TODO' block in Song::cmdAddRecordedEvents.
-      * Fixed: Midi record into existing part, past part end, was decreasing part aref count, causing de-clone of clones. (T356)
-        - Removed extra "part->events()->incARef(-1)" from Song::cmdAddRecordedEvents().
-      * Changed: Number of midi ports from 16 to 32. (T356)     
-      * Added: Muse application desktop file, and added installation of it plus the muse icon, upon 'make install'. (T356)
-        - Desktop file submitted by Orcan Ogetbil.
-        - Note if muse is installed to /usr/local, the desktop file might not find the icon.
-      * Fixed: "-mcpu= is deprecated" compiler warnings. (T356)
-        - Changed configure.ac to use -mtune and -march.
-      * Speedups: Some heartBeat routines (such as Meter) were constantly drawing, wasting time and causing flicker. (T356)
-        - Also fixed Track Info midi detect light, and Midi Sync lights.
-      * Fixed: Midi strip vu meters now have a peak indicator. (T356)
-      * Fixed: Audio mixer strips now update when config minimum meter/slider value changed. (T356)
-        - Also fixed blocky 'aliased' drawing at low signals / low minimum meter settings.
-        - Changed Track::_meter and ::_peak from ints to doubles for more accuracy, eliminate 'false' draw update triggers.
-      * Added: Configurable shortcut key: "Transport: Goto start". Default 'W' key (as in reWind to start). (T356)
-      * Added: Appearance configuration button: Clear background picture. (T356)
-        - Also fixed Appearance::apply() to clear the string if <none> selected.
-        - Also fixed Arranger::configChanged() to set canvas null background QPixmap.
-        - This means clearing the filename in the 'select picture' dialog also works now. 
-      * Changed: Selected cloned parts now draw (inverted) dashed border, just like unselected parts. (T356)
-      * Changed: Part drag-clone key from Shift-Ctrl back to Alt. (T356)
-        - My fault. Was changed to Shift-Ctrl, but Ctrl is for selecting all items in a row or limiting movement to x or y. 
-        - Still not a good thing. Some desktops even reserve Alt, Shift-Alt etc. for window move, snap etc.
-        - TODO: Must find a way to override desktop setting. Without Alt, we don't have enough keys to work with!
-          Don't want user to have to disable setting.
-      * Cleanups: Moved some methods outside of Part and Track classes which I had put inside them. (T356)
-        - Methods like addPortCtrlEvents() deletePortCtrlEvents() etc.
-      * Changed: Muse wants qt >= 3.2, but some .ui files had version 3.3. (T356)
-        - Changed editinstrumentbase, editgainbase, aboutbox, configmidifilebase, gensetbase, midisync, 
-           fluidsynthguibase, and vamguibase .ui files.
-      * Fixed: Midi Track info panel was allowing track name change to an already existing name. (T356)
-        - Fixed Arranger::iNameChanged() to warn. Changing the name in the arranger Track List already warns OK.
-      * Fixed: Crash or bizarre behaviour when undoing a track rename operation. (T356)
-        - Replaced default simple Track class assignment operator with custom method. Added a flag parameter to 
-           Track::clone and Track copy constructors to indicate partlist is simply assigned, not parts cloned. 
-           Also removed the lines reassigning each part's track (!). Can get away with this since track rename 
-           is the only operation to use that, but something better would be needed if more 'normal' behaviour 
-           was needed in copy constructor and assignment operator !
-05.04.2009
-      * Fixed: Arranger part cloning works now! (Hold shift-ctrl while moving part - note dashed border on cloned parts). (T356)
-        - In Song::cmdChangePart() do not call "oldPart->events()->incARef(-1)" if new part is clone of old part,
-           (that is, old/new parts' eventlists point to same eventlist).
-        - Changed from 'alt' to 'Shift-Ctrl' button combo to activate cloning in Canvas::viewMousePressEvent().
-          Alt is reserved for moving the whole window (on my machine), so most people probably never knew about cloning? 
-        - This also fixes a reference count problem when renaming a part, ref count was being dec'd past 0. 
-          Quite possibly fixes some other issues, too. Testing...
-      * Fixed: Transport window was disappearing by itself. (T356)
-        - Removed WStyle_Tool from Transport constructor. Seems to test Ok now.
-        - Gave it a caption "Muse: Transport", to appear on task bar.
-      * Fixed: Big time display now shows MTC minutes, seconds, frames, and subframes. (T356)
-      * Fixed: Wave editor MTC cursor time readout was not right. (T356)
-        - Use samplepos to set pos2 value in WaveEdit::setTime().
-03.04.2009
-      * Followup: Track info panel program, volume, and pan were not allowing editing values. (T356)
-        - Fixed the track info heartBeat function.
-      * Followup: Some more changes to respect MidiDevice open flags, set in midi config window. (T356)
-        - Strangely, midi config 'write enable' lights still weren't stopping events from being played, 
-           even though the port was clearly unsubscribed successfully for writing (!) 
-          Also, strangely, only if Jack Midi was disabled, some device putEvent() error messages were appearing.
-          I expected the messages to ALWAYS occur but it didn't happen, even though events were always played. 
-        - Added MidiDevice::_writeEnable and ::_readEnable, set when the device is opened or closed. 
-        - Changed the various ::putEvent methods to respect _writeEnable. (_readEnable not used yet, because
-           port unsubscribtion for reading IS working - events stop arriving).
-      * Added: Instrument definition file for playing to an Emu 4MBGSMT SoundFont. (T356)
-01.04.2009
-      * Fixed: Midi config window: Clicking on green in/out enable lights was not actually dis/enabling in/out. (T356)
-        - As initiated from MPConfig::rbClicked(), MidiAlsaDevice::close() was seeing the NEW flags, not the old.
-          So, in MidiAlsaDevice::close(), removed _openFlags check, and added snd_seq_get_port_subscription() check.
-        - Tested Ok disabling/enabling ins/outs, and clearing/setting port's device.
-      * Fixed: Muse was not storing midi port 'openFlags' in the song files. (T356)
-        - Muse could read the old 'record' flag and the new 'openFlags' tags, but only stored the 
-           old 'record' tag (well, it was actually storing rwFlags by mistake).
-        - Added the necessary tag to file write. (Related to the fix above - now it stores the port in/out enable).
-01.04.2009
-      * Fixed: Compile problem with muse widgets plugin "undefined reference to `main'". (T356)
-          - Added -c to musewidgetsplugin_so_CPPFLAGS in muse/widgets/Makefile.am
-          - Re-ran automake, configure, built, tested ok.
-          - To be tested by users...
-      * Fixed: Compile error: "editctrlbase.cpp:53: error: invalid use of incomplete type 'struct PosEdit'" (T356)
-          - Added a <customwidget> section to editctrlbase.ui
-          - To be tested by users...
-31.03.2009
-      * Feature: Midi file export: Configuration options added for 2 or 4 byte time signatures + note off optimizations. (T356)
-        - For 4 byte timesigs: Add fixed "metronome" value of 24 (once per quarter-note), and "32nd notes per quarter-note" value of 8. 
-        - For note off optimizations: Replace note offs with zero velocity note ons.   
-      * Fixed: Midi track info panel now updates when external changes occur, such as keyboard program changes. (T356)
-        - Changed track info window from songChanged based updates to periodic heartBeatTimer based updates.
-      * Feature: Added midi input detect indicator to track info panel. (T356)
-        - Detects all note on-off, controller, aftertouch, program change, and pitchbend (but not sysex or realtime) 
-           events on the selected channels, on the selected midi ports.  
-      * Fixed: Midi program adjustment controls now respond when external program changes occur. (T356)    
-        - Added a section to handle ME_PROGRAM in MidiPort::sendEvent(), so that visual controls can update,
-           such as trackinfo 'program' , and pianoroll 'program' controller adjustment knob.
-      * Fixed: Some issues with 'Follow Song' setting and position cursor position/visibility. (T356)
-        - Added 'xorg' in ppos calculations in Canvas::setPos() (and others like WaveView, but that still isn't quite right.)
-        - For windows which have an appreciable x origin (space at the left of the contents), the play cursor was 
-           too far right or not visible sometimes, especialy with large horizontal zoom, particularly the arranger.
-          With 'Follow Continuous', the play cursor should now stay about in the middle of the windows. 
-          With 'Follow Page', the view should now more or less always move in full 'pages'. 
-27.03.2009
-      * Fixed: Track info 'instrument patch' list box was not correct when selecting another track with unknown patch. (T356)
-        - Broken last fixes.
-      * Improved: Support for & < > \ " characters in xml files. (T356)
-        - Fixed xml.cpp
-        - Many places in muse can now use them (ex. track name, instrument names/patches/controllers etc.)
-        - TODO: Writing: Must still check for places which manually use Xml::nput, put etc, but at least muse 
-           should now read them all without trouble.
-      * Fixed: Instrument Editor was still asking to save sometimes even if user clicked save already. (T356)
-        - Call instrumentNameReturn() patchNameReturn() and ctrlNameReturn() from various places, to force update.
-      * Feature: Redesigned Midi Sync Editor and sync system. To allow multiple inputs/outputs, and more. (T356)
-        - See tooltips or click on What's This to see detailed explanations of each item.
-        - TODO: Only realtime MC events are tested at the moment. MMC and MTC are not tested, or not working yet. 
-        - TODO: Fix midi sync clock input. Observed problems: wandering, even reversing(!) song cursor time.
-          Can be stored in .med file that way (tempomap->fix is negative number!) making a bad file which won't play.
-12.03.2009
-      * Fixed: Global configuration dialog 'Displayed Resolution', and added 'Midi Resolution' boxes. (T356) 
-        - Separate midi/gui configurations were allowed, but not implemented. 
-        - TODO: Now make the 'Displayed Resolution' setting actually do something.
-          The 'Midi Resolution' currently sets BOTH what should be separated into midi and gui.
-          Only config.division is used throughout muse, not config.guiDivision.
-          Also, now that these settings are working, they reveal some issues with drawing, such as
-           not enough pianoroll zoom-out ability with high resolution.
-      * Improved: Midi Clock output. Was improper, causing external devices to misbehave. (T356)
-        - Changed MidiSeq::processTimerTick().
-        - Tested: With RTC resolution at 8192, the target device slowly drifted out of phase with muse after 
-          about 20 bars. With RTC resolution at 1024 it was actually more stable (100 bars or more), despite 
-          more clock jitter.
-          Used an equalization scheme to balance the time out. Must test if stability improves without this scheme. 
-          MidiSeq::processTimerTick() still needs some tweaking. 
-        - You may see severe phase difference if moving the cursor around and playing. Try playing from the song start.  
-19.02.2009
-      * Patch: Patch to find best available ALSA timer. (T356)
-        - Submitted by Pedro Lopez-Cabanillas. Patch was named "muse_alsatimer_2nd.patch".
-        - "This patch adds selection logic to ALSA timer initialization, trying to find 
-            the best available ALSA timer (a non slave timer with lowest resolution).
-           Currently muse uses only the ALSA system timer, even when the system has an 
-           ALSA RTC or ALSA HPET drivers available, which are probably better for many users."
-      * Patch: Patches for printf%zd/size_t, and grepMidi/gcc4.4 issues, and fix some compiler warnings. (T356)
-        - Submitted by Orcan Ogetbil.
-        - Patches were named muse-size_t.patch, muse-gcc44.patch, and muse-fix-some-compilation-warnings.patch
-      * Fixed: Some more issues with manipulating drum tracks and underlying controller events. (T356)
-        - Changing a drum track's output port, (and allowing muse to change the whole drum map),
-           was not changing existing port controller values.
-        - Also changing a track from 'midi' <-> 'drum' was not changing the port controller values properly.   
-        - NOTE: I still observed occasional 'ghost' midi port controller values. Tracking this issue...
-      * Fixed: Seek or Init Instrument with XG instrument caused double loading of controller init values. (T356) 
-        - Moved controller init code from MidiPort::sendGm/XgOn() to a new MidiPort::sendGm/Gs/XgInitValues() 
-           and changed Audio::initDevices() to call them.
-      * Added: 'Value' readout on menu toolbar (beside 'Cursor' readout), in Drum Editor. (T356)
-        - Just like pianoroll, except it only shows controller values. 
-        - Now you can read the values you are drawing on the Drum Editor controller graph.
-      * Fixed: Some issues with configuration, and appearance window. (T356)
-        - Muse now remembers configured 'selected track foreground/background' colours. 
-        - Added "Midi Editor -> controller graph" colour configuration option (default navy blue).
-        - Fixed Arranger and Style/Fonts windows not showing current values.
-      * Fixed: Segfault with Appearance configured to show events, with a part tick > 0 on part canvas. (T356)
-        - Added limit checks on from/to variables in PartCanvas::drawItem().
-      * Fixed: Midi controller graphs were displaying 'quantization' vertical lines instead of 'snap' lines. (T356)
-        - Changed CtrlCanvas::draw() to use raster instead of quant value.
-        - Also changed gray background colour to darkGray, so 'major' snap lines can be seen.
-      * Added: Send 'null' midi controller parameters after each RPN/NRPN controler event. (T356)
-        - Symptom: After muse sends any RPN/NRPN controller event, operating the 'data' (MSB/LSB) 
-           midi controllers affects that RPN/NRPN controller.
-        - Cause: The RPN/NRPN parameters are still active, open to any subsequent data adjustments.
-        - Cure: Send 'null' parameters after each RPN/NRPN event, so that subsequent data adjustments
-           are sent there instead.
-        - Added adjustable 'null' parameter numbers to the instrument editor. Typically they should 
-           be '127/127', but they are adjustable (select an unused controller number) if desired.
-          They can also be turned off, if desired, by selecting 'off/off', so that muse will NOT send
-           them. Turning them off is useful for instruments which do not use RPN/NRPN controllers.
-      * Changed: GS/XG instrument patches high banks from 18 to 128, 17 to 127, and 5 to 65. (T356)
-        - Was it a typo? XG specifications say high banks should be 128, 127, 65 etc.
-        - Also, in instrument editor, reorganized XG Drum patches into Drum Kits and Sound FX.
-        - TODO: Other instruments may have to be changed, too.
-      * Fixed: Track info 'Rec' button: If new part was created, it was too short even to see. (T356)
-        - Changed Song::recordEvent to round (tick + 1) up one bar.
-        - Added separate record buttons for program (and bank), volume, and pan.
-18.02.2009
-      * Added: Missing midi program controller to pianoroll/drum edit controller graph and adjustment knob. (T356)
-        - Since the range is limited to 1-128, this only edits the program byte, NOT the program MSB or LSB!
-        - Since only the program byte is edited, adding new values to the graph uses the CURRENT 
-           program MSB and LSB, as shown in the track info pane (H-Bank/L-Bank). 
-           If the current program is 'unknown' (all off), then the graph uses MSB=off, LSB=off if the song type 
-            is GM, and MSB=1, LSB=1 if not.  
-        - I considered using the 'previous value' on the graph for the MSB/LSB, but then there would be 
-           no way to quickly set the MSB/LSB when adding new values to the graph.
-        - The only other way is to draw on the graph, and then use the midi event list editor to change 
-           the program MSB/LSB values.
-        - TODO: Fix the track info H-Bank/L-Bank/Program behaviour. Do not allow program to be 'off' 
-           if H-Bank/L-Bank are not 'off'.
-      * Changed: Instrument editor behaviour. Allow a 'user' instrument directory PLUS the 'built-in' directory. (T356)
-        - Muse now looks first in the MUSEINSTRUMENTS directory (default MUSEHOME/muse_instruments, where MUSEHOME  
-           is default HOME/), then looks in the 'built-in' instrument directory (/usr/share/muse etc.)
-        - Instruments found in the user directory OVERRIDE instruments with the SAME NAME in the 'built-in' directory.
-        - This allows users to quickly experiment with existing instruments while keeping the same instrument name.
-        - TODO: add a 'Delete' button to the instrument editor.
-      * Added: Pitch bend sensitivity controller to fluidsynth. (T356) 
-      * Fixed: Organ synth: Volume not working. (T356)
-        - There is no volume gui control to return proper min/max values.
-        - Added a trap for CTRL_VOLUME in Organ::getControllerInfo() and
-           set min/max to 0/127.
-      * TODO: Fix some broken VAM synth midi controllers with improper range. (T356)     
-09.02.2009
-      * Fixed: Drum map: Grey vertical lines not proper when map header rearranged. (T356)
-        - Used header->mapToSection when drawing grey vertical lines in dlist.cpp.
-08.02.2009
-      * Fixed: Drum map - Changing ANote, Channel, Port now updates controller graph and knob. (T356)
-        - Changing ANote, Channel, or Port of a drum map item now updates the controller graph 
-           and adjustment knob. Useful for XG/GS drum controllers.
-        - TODO: Fix 'Undo' changing ANote, Channel, Port.
-      * Fixed: Drum map - List item drag and drop works properly now. (T356)
-        - Was not manipulating events properly, although port controller values were still OK.
-          Useful for XG/GS drum controllers.
-        - TODO: Fix 'Undo' of drag and drop.
-      * Changed: All calls to some new message sending routines with direct calls. (T356)
-        - Replaced all calls to msgSetTrackOutChannel, msgSetTrackOutPort, msgRemapPortDrumCtlEvents,
-           and msgChangeAllPortDrumCtrlEvents, with direct calls (song->remapPortDrumCtlEvents etc.),
-           bracketed by audio->msgIdle(true) and audio->msgIdle(false).
-        - For complex operations, 'msgIdle' technique seems to be preferred over sending messages.
-        - Tested such operations while in stop mode, and while playing. Tested OK.
-06.02.2009
-      * Changed: Hard coded LADSPA paths in plugin.cpp and ssplugin.cpp to include /usr/lib64/ladspa  
-           and /usr/local/lib64/ladspa. (T356)
-        - Suggested by Orcan Ogetbil    
-        - Note that the environment variable LADSPA_PATH still overrides these hard-coded paths.
-06.02.2009
-      * Patch applied: Removes duplicate implementation of fast_log*() functions in ssplugin.h (T356)
-        - Submitted by Orcan Ogetbil 
-05.02.2009
-      =======================================
-      * 1.0rc1 tagged (rj)
-      =======================================
-04.02.2009
-      * Fixed: Track info panel 'Rec' button not changing existing values on controller graph. (T356)
-        - Name changes: MidiCtrlValList::add, ::del, ::find to ::addMCtlVal, ::delMCtlVal, ::findMCtlVal 
-           to make it easier to spot all usages of them.
-        - Simple fix in MidiCtrlValList::addMCtlVal: Return false if the value is already found for the part.
-        - TODO: It takes three 'undos' to undo the 'Rec' button push. It is because prog, vol, and pan
-           are changed. This should be unified into one undo...
-
-01.02.2009
-      * Fixed: Compile error on 64-bit systems, in audiotrack.cpp at cacheJackRouteNames(). (T356)
-        - Changed from unsigned int pair key, which required pointer conversion, to AudioTrack* pair key. 
-        - Test OK (on my 32-bit system). ** Need 64-bit users to test it. **
-      * Fixed: Segfault when playing a note in a drum map, when the note's port says 'none'. (T356)
-        - Added a line in the 'don't echo controller changes back to software synthesizer' block of
-           Audio::processMidi(), to check valid device.
-      * Fixed: Missing or stuck notes or events on recording (or rec-armed only) midi track. (T356)
-        - Symptom: Playing live (rec-armed only), or recording, on a midi track gives stuck or 
-           missing notes and other events. Very annoying bug!
-        - Cause: A single list was used for recording midi events, while muse was also reading from that list.
-        - Employed a 'flipping' two-list technique for MidiDevice::recordEvents().
-        - In Audio::processMidi(), process one list while MidiDevice::recordEvent() writes to the other.
-      * Fixed: Manipulating controller events in midi track parts was not changing midi port controller values. (T356)
-        - Symptom: Change a part's midi controller events, or move or delete a part, or delete a track, then the underlying
-           midi port's controller values are not altered, leading to 'phantom' or 'ghost', or duplicate controller values,
-           even where there is no part or no track, or no controller values where there should be !
-        - Oops, how did this major bug go unnoticed so long?...   
-        - Major rewrite: Created a struct MidiCtrlVal{int val, Part* part}, and changed class MidiCtrlValList from
-           std::map<int, int>  to  std::multimap<int, MidiCtrlVal>
-          Changed MidiCtrlValList::add(int tick, int value) to MidiCtrlValList::add(int tick, int value, Part* part),
-           and MidiCtrlValList::del(int tick) to MidiCtrlValList::del(int tick, Part* part),
-           and added MidiCtrlValList::find(int tick, Part* part).
-          Changed Song::addEvent(), Song::changeEvent(), Song::deleteEvent(), Song::addPart(), Song::changePart(), 
-           Song::removePart(), Song::insertTrack2(), and Song::removeTrack2() to make sure port controller values 
-           are added/removed properly.
-          Changed a few other things to make it all work. 
-          Reasons: The Part* member was added to each controller value item in the list, so that the system can 
-           know exactly which part was responsible for putting a value in the list.
-          This helps when we have overlapping controller values from events of different parts on the same port and the same channel - 
-           if one of the parts is deleted or moved, the overlapping values from the events of the other part are NOT disturbed
-           within the port's controller value list. 
-          The list was changed from 'map' to 'multimap' to accommodate the multiple values from events of different parts.
-         - NOTE: When there are overlapping values from events of different parts, the system will arbitrarily choose the
-           first value it finds at a given time. I considered 'mixing' the overlapping values together
-           (by averaging, or maybe highest/lowest value), but I felt it would just cause more confusion for the user.
-          Therefore it is up to the user to be aware of overlapping controller events and deal with them.
-          If you are looking at a controller graph and it shows a particular value at some time, but the 
-           midi knobs/sliders and actual midi output does NOT correspond to what you are seeing, then 
-           most likely ANOTHER part on the same port and channel has an event at that same time, and that 
-           event's value is likely the one that is being used by the system.
-      * Fixed: Changing a midi track's out port or channel was not updating the ports' controller values. (T356)
-        - Changed MidiTrack::setOutPort() and MidiTrack::setOutChannel() calls to new MidiTrack::setOutPortAndUpdate() 
-           and MidiTrack::setOutChanAndUpdate(), which make sure the port's controller value list is properly updated.
-        - Part of the larger fixes above.   
-      * Fixed: Midi adjustment knob on controller canvas was not working after moving the part to another track. (T356)
-        - Added some code to CtrlCanvas::songChanged() to set curPart and curTrack and update the knob,
-           upon SC_PART_MODIFIED.
-      * Fixed: Clear midi input transforms when song cleared. Update transform dialog when song changed. (T356)
-        - Symptom: Repeated loading of songs causes duplication of midi transforms, causing .med song files to grow big !
-        - Added clearMidiInputTransforms() to midiitransform.cpp, called by Song::clear().
-        - Added updatePresetList() and slot songChanged() to MidiInputTransformDialog, triggered by Song::songChanged.
-        - Added some code to readMidiInputTransform() to **auto-eliminate** duplicate transforms in existing .med files.
-        - Still some 'quirkiness' with the dialog buttons, but it works better now.
-        - ALSO: Applied those same fixes to midi transforms and the midi transform dialog.
-      * Fixed: Notes not recorded to track for a drum map 'instrument item' having non-default (track) port. (T356)
-        - Changed to drumRecEvent.setPort(port) in 'Track::DRUM' section of 'if(recording)' section of Audio::processMidi()
-           so that buildMidiEventList() would accept the notes.
-      * Fixed: Removed jack midi port names from audio in/out port lists. (T356)
-        - Added JACK_DEFAULT_AUDIO_TYPE to jack_get_ports calls in JackAudioDevice::inputPorts and ::outputPorts.
-      * Fixed: Notes were being mixed up when switching a track type between midi and drum. (T356)
-        - Changed to drumMap[pitch].enote in 'Drum -> Midi' section of TList::classesPopupMenu().
-      * Completed: Moving multiple events from multiple parts when editing in pianoroll or drum editor. (T356)
-        - Work had begun several commits ago. Completed.
-        - Now you can select and move multiple events from different parts in the editors.
-      * Feature: When editing multiple parts in the pianoroll or drum editor, controller graphs are now overlaid! (T356)
-        - When you are editing more than one part at a time in the editors, the controller graph will overlay
-           all of the graphs together!
-        - The currently selected part will show its controller as normal blue columns, as before, but the other 
-           unselected parts will draw their controllers as a gray 'ghost' outline on top.
-        - TODO: Add menu items, hot keys etc. to cycle through each part (in case there are no notes to select in a part!)
-      * Improved: Support for GS/XG midi drum controllers. (T356)
-        - Added MidiPort::drumController(). Tells if an event is a drum controller event, according to the port's instrument.
-          Does it by looking up the event in the instrument's controller list.
-          Would prefer a 'marker flag', eg use the event 'dataA' high bit to mark as drum controller event, but it's too risky!
-          Used MidiPort::drumController() a dozen or so places where drum controller events needed remapping/manipulation etc.
-          May be a speed hit with many/large controller graphs? Test further...
-        - Added code to update port controller values when changing drum map ANote, channel, or port.
-        - KNOWN BUGS: Still a few loose ends to tie up: Port controller values (but not track events) may not be correct when: 
-           'Swapping' (by dragging) items in the drum map, and
-           loading a song with a drum map which had 'swapped' (by dragging) items.
-          Some stuff (midi value adjustment knob) is not updated when changing drum map ANote, channel, or port. 
-          Workaround: Be sure to select another drum map item, then reselect the changed item again, after such operations.
-      * Changed: All softsynth midi controllers now have default initial values. (T356)
-        - Added default initial values to all softsynth controllers such as fluidsynth's controller map.
-        - Added 'initval' argument to all ::getControllerInfo() methods, which is passed to the newly created 
-           controller (new MidiController) in SynthI::initInstance().
-        - These initial values will then show on the various gui midi adjustment controls, knobs etc.
-      * Changed: Fluidsynth master gain and reverb initial settings. Gain was too loud and there was too much reverb. (T356)
-      * Fixed: Follow up - some issues with instrument editor. (T356)
-        - Instrument editor was sometimes falsely detecting instrument had changed. 
-        - Also, do not list 'internal' instruments like generic midi, soft synths, vst etc.
-        - Also, upon 'Save As', prompt for a new instrument name if the user hasn't changed it, to avoid duplicates.
-        - Remove any unsaved (new) instrument when moving to another instrument, closing etc.
-        - Fixed up tab order of instrument editor controls.
-        - TODO: When muse wants to close, trap it in the instrument editor so we can save.
-      * Fixed: Problem in xml parser. '&amp', '&quot' etc were being read as '&&', '""' etc. (T356)
-        - Added a couple of lines, and removed one, in Xml::stoken().
-      * Fixed: Zero bias midi controllers (with a negative minimum value, like 'pan') weren't working right. (T356)
-        - Broken after last changes. Added an updateBias() line to MidiController::read() 'controller' tag end section.
-      * Added: Send all instrument controller initial (default) values to all of a port's midi channels, 
-           except where explicitly initialized by the song. (T356)
-        - Added some code to MidiPort::setMidiDevice to initialize controllers from instrument, if needed.
-        - When setting a midi port's device (such as in Settings->Midi Ports, or simply when loading a song),
-           then any specified controller initial values in the instrument are sent to ALL of the port's channels, 
-           EVEN if the controller is NOT in the song. This ensures better consistency between songs, so that 
-           chosen controllers are not left in undesirable 'leftover' states. 
-          (Taken from important comments in MidiPort::setMidiDevice(): )
-          For example: A song is loaded which has a 'reverb level' controller initial value of '100'.
-          Then a song is loaded which has no such controller (hence no explicit initial value).
-          The 'reverb level' controller would still be at '100', and could adversely affect the song,
-           but if the instrument has an available initial value of say '0', it will be used instead.
-        - It is desirable to have defaults for some controllers, but it is wise to have NO default for certain 
-           other controllers, like the 'reset all controllers' and 'sustain' controllers (actually, zero would be OK).
-      * Changed: Clicking Midi->InitInstrument (or moving to song position 0) now initializes controllers
-          from instrument controller initial values, if they exist, or previously hard coded values if not. (T356)
-        - sendGmOn() and sendXgOn(), which are called via Audio::initDevices(), now use instrument controller
-           initial values if they exist, or the previously hard coded values if not.
-      * Changed: Non-softsynth non-GM drum tracks: Patch popups now show all drum AND melodic patches on ANY channel. (T356)
-        - For drum tracks, if the song type is not GM, and the track's port is not a softsynth, then all patches
-           including drum AND melodic are shown for ALL channels when 'select instrument patch' popup is clicked,
-           regardless of the patches' 'drum' flag setting (in the instrument editor). 
-           (Softsynths handle their own patch popup lists).
-        - Added a 'bool isDrum' parameter to all populatePatchPopup() methods, which is passed 'true' only
-           if it's a drum track, and changed a couple of lines in the only class which uses the drum flag - MidiInstrument.
-        - Previous behaviour was to show drum patches ONLY on channel 10 of drum tracks. 
-        - Reasons for change: 1): A midi device might have a non-standard drum channel(s), so drum patches 
-           as well as melodic patches are shown for all channels. 2): Since any channel can be used in the drum map,
-           melodic patches are shown as well as drum patches so that any patch can be selected for any channel.
-          NOTE: Each of a drum track's channels which are used in the drum map should be set to a patch number, 
-           otherwise it doesn't work right ! (**) This is true for softsynth devices too ! (**). 
-          So it was imperative that the user be able to select ANY patch on ANY channel, to suit their setup, 
-           for flexibility.
-          (If that same flexibility were applied to regular midi tracks (non-drum tracks), it might make the
-           'drum' flag for patches obsolete, since there would be no reason to filter them from the list !)
-      * Changed: All midi controller event values sent to a midi port are now constrained (limited) to the port's
-          instrument controller's range (if that instrument controller exists). (T356)
-        - Example: Incoming events from a midi keyboard's pitch wheel range from -8192 to 8191, but it is
-           desired to limit that range to, say -200 to 8191. One could use the midi input transformer to
-           accomplish this, but instead now you can simply adjust the chosen instrument's pitch controller range
-           (in the instrument editor), and then the pitch wheel's range will be limited to that range.
-        - This only affects playback events (and therefore 'live' incoming events), but does NOT affect
-           actual recorded data, so that by simply readjusting the instrument controller's range, 
-           or by changing instruments, the range can be restored with no loss of recorded data range.
-      * Fixed: Cleaned up all .idf files and changed ranges of all 'zero-bias' controls (-64/63 'pan' etc). (T356)
-        - Many .idf files had bare '&' characters in them, causing corruption of names and values when reading.
-        - Also turned on the 'drum' flag for ALL drum patches in MANY .idf instrument files.
-          Some .idf's I was uncertain about, and did not change : AlesisQS6, Waldorf Q.
-      * Changed: Fluidsynth pan controller range from 0/127 to -64/63. (T356)
-        - To be consistent with .idf file changes.
-      * Replaced: All direct calls to MidiPort::setHwCtrlState() from GUI thread, with new Audio::msgSetHwCtrlState(). (T356)
-        - My fault, I was not paying attention to iter-thread communications.
-      * Optimizations: Optimized MidiPort::setHwCtrlState(), MidiPort::sendEvent(), and calls to MidiPort::setCtrl(). (T356)
-        - Optimized MidiPort::sendEvent().
-        - Replaced code in MidiPort::setHwCtrlState() with more optimized code.
-        - Replaced several clumsy calls to MidiPort::setCtrl(), which checked for and created the controller,
-           with a new optimized MidiPort::setControllerVal(). 
-06.01.2009
-      * Fixed simpledrums/ssplugin.cpp to build with recent Ubuntu 8.10 (FN)
-17.08.2008
-      * Feature: Muse now has an instrument editor, complete with a midi controller editor! (T356)
-        - Click on the menu "Midi->Edit Instrument".
-        - You will see a sysex editor there too, but it is non-functional. (Use the midi event editor instead).
-        - >>> Tooltips and "What's This?" are provided with IMPORTANT information. <<<
-          >>> If you want to understand how to use instruments, patches, and controllers in your song, <<< 
-          >>>    READ THEM!    <<<
-      * Added: Environment variable MUSEINSTRUMENTS, so a (writable) instrument directory can be chosen
-         instead of default /usr/share/muse/instruments etc. (T356)
-        - Also added display of environment variables recognized by muse to command line help (muse -h).
-      * Fixed: Popup displays of instrument patches to filter according to GM, GS, XG song type, and whether
-         on drum channel 10. (T356)
-        - Use the new instrument editor to set these GM, GS, XG, and drum filters.
-      * Changed slightly: Creation of a new drum track - initialize to channel 10 instead of 1. (T356) 
-      * Fixed: Force audio prefetch seek when play is pressed. (T356)
-        - In Audio::seek, changed the call of audioPrefetch->msgSeek to force a prefetch,
-           to ensure the most recent data. Things can happen to a part before play is pressed  
-           such as part muting, part moving etc. Without a force, the wrong (old) data was being played.
-        - If you perform those same operations while playing, there may be a few seconds delay before you
-           hear the changes (the play cursor must move a certain distance before they're heard).
-        - TODO: How to make the same thing happen when transport is externally started, such as from qjackctl.
-            OR: How to force a prefetch at specific places like when a part is muted, and when it is moved,
-                 instead of just before play is started. That way the operations can be done quickly while playing.
-      * Fixed hangup: Upon loading of songs with fluidsynth soundfonts which can't be found. (T356)
-        - (!) Removed error message box from FluidSynthGUI::processEvent causing freezeup.
-        - You can still read fluidsynth errors by running muse on a command line. I figured it was 
-           better to be able to load the song and to see errors, instead of just letting it freeze.
-        - This should now allow you to share fluidsynth songs with other people (without the soundfonts).
-      * Fixed: Audio aux tracks not working, intermittent. (T356)
-        - Aux functionality was intermittent depending on whether the aux had out routes,
-           and whether any tracks feeding the aux had out routes, and other factors.
-        - In Audio::process1, rearranged, and added, some code to make aux work all the time now.   
-      * Speedups: To some songChanged() functions. Ignore unnecessary flags. (T356)
-        - For example simply adjusting midi gui controls would cause costly and
-           unnecessary rebuilding/redrawing of certain areas, like parts of trackinfo, and controller graphs.
-        - Noticeably less 'slugglish' when adjusting controls now.
-      * Fixed: Midi controller events not being added to midi port controller, after record with no part. (T356)
-        - Symptom: If you record midi controllers without first creating a part, muse creates the part 
-           for you and creates the controller graph OK, but when you move the play cursor around, the graphs
-           have no effect. This doesn't happen if you first create the part to record into, or manually edit a graph.
-        - Symptom: As above, the graph is OK, but the controllers don't show up in the list when you click 'ctrl'.
-        - Changed a line in song::cmdAddRecordedEvents() to use addEvent() instead of adding directly to list.
-      * Fixed: Automatic detection of pitch bend wheel not working. (T356)
-        - Added some code to MidiPort::sendEvent to detect ME_PITCHBEND events.
-        - Note: There appears to be a sound system bug (using ALSA 1.0.15): The system will NOT deliver any pitch 
-           bend events to muse until ANOTHER controller is detected, ex. move the modulation wheel THEN the pitch wheel.
-          Verified with another app - RG - and with a real midi hardware to hardware connection (not my KB's fault).
-      * Observed: Stuck or missing midi notes when recording or even just 'record armed only' 'live' playing. (T356)
-        - The sound system appears to be having occasional trouble detecting midi events, including note-off ! 
-          Verified with muse and RG (using ALSA 1.0.15). Not sure why or when this started, seems early this year...
-      * Linked: All midi knobs and sliders with their labels. (T356)
-        - Now they work together when displaying and adjusting.
-        - After careful consideration of the meaning of 'off' in those
-          labels, you now double click the label to turn the midi control on/off.
-          Off does not mean 'zero'. Rather, it means:
-          'Don't save this current value in the song file'.
-          When a midi control is 'off', loading the song won't initialize the controller with a value.
-          'Off' means the current value is set at 'unknown'. 'Unknown' means the actual 
-           'behind the scenes' hardware value is the last value that was set. The knob or slider still 
-           shows this value, or a default initial value, or if both of those are unknown, then 0.
-      * Changed: Midi and audio level slider/knob labels to show '---' for infinite attenuation. (T356)
-        - As mentioned above, the midi level slider labels can also show 'off'.
-      * Fixed: The new midi controller knob in pianoroll and drum editor. (T356)
-        - It was not adjusting anything.
-      * Fixed: Midi vu meters again. Now they should work! (T356)
-        - They were not responding to play events with an off velocity other than zero.
-      * Fixed: Marker view window doesn't remember if it is open or closed. (T356)
-        - Add a markerClosed function to app.
-      * Reverted: Back to audioRTalloc in mpevent.h (T356)
-        (!) - I had changed it to midiRTalloc, but that may have been causing problems like 
-               midi shutdown (audio OK) after a few hours, and crash soon afterwards. 
-              Verifying... No more midi shutdowns after a few hours, so far...
-            Ooops, not so fast, happened again...
-30.04.2008
-      * Fixed bug in drum editor. Dragging the splitter too far left causes runaway resize, stuck in loop. (T356)
-        - Tried several different arrangements, but QSplitter won't behave the way I need it to. Best I could do, so far. 
-        - You may notice some strangeness, like the controller graph not aligning with the matrix, if the right edge 
-           of the window is offscreen.
-      * Added 'add/set event' to audio automation right-click popup menus. Ancient request by R.J. (T356)
-      * Fixed arranger midi strip and arranger top controls not giving up keyboard focus after adjustment/entry. (T356)
-        - Further request by user G.B. Changed all relevant QSpinBoxes to custom SpinBox, which behaves like this:
-           Click up/down, or mousewheel, or hit enter with un-modified text (which means enter TWICE for modified text), 
-            and the control will give up focus, thereby allowing you to use global shortcut keys afterwards. 
-            Up/down keys still keep the focus.
-        - TODO: Piano roll and drum editor.
-      * Fixed major problem with lost jack routes upon file save, when save causes a jack shutdown. (T356)
-        - Symptom: You click save, but jack shuts down during the save, causing lost jack routes in the file.
-        - Fix: Cached the jack route names before file save, then used them during AudioTrack::writeRouting() xml code.
-          Note this doesn't actually stop shutdowns from happening - now it just saves your files without losing jack routes.
-      * Fixed mysterious intermittent wave part muting, as mentioned in 11.03.2008 (T356)
-        - !!! PartList and EventList are now sorted by frame instead of tick, for wave parts only. Because fetchData() 
-           didn't like sorting by ticks. This is a radical change. So far, no other areas found requiring further coding, but...
-      * Overlapping wave parts and events now mix together, instead of one part or event taking priority over others ! (T356)
-        - Virtually no speed hit, since muse was already cycling through all the wave parts/events, 
-           just not mixing them together. So the very LAST wave part/event in the part/event lists was 
-           taking priority over others.
-      * Fixed default instrument midi controller min/max values. (T356)
-        - Symptom: Some pianoroll midi controller graphs much too small or too big, vertically.
-        - Cause: You added these controllers to your track as a midi instrument, ex. General Midi (GM), then you 
-           changed the instrument, ex. to 'Generic Midi' or another instrument without those controllers,
-           which set improper min/max values.
-        - Fix: Added code to MidiPort::midiController() to set proper min/max values based on standard controller type.
-          However, if the original instrument used CUSTOM min/max values, the graph may still be distorted.
-      * Fixes to midi event list editor. (T356)
-        - Added true sorting of event list. Now you can click on column headers to sort as desired! 
-        - Added formatted program number display (like 1-1-120) for 'Val B' column.
-        - Fixed Poly After Touch events display in list. They were being listed as Channel After Touch.
-        - Fixed crash when 'Delete events' clicked with no actual items selected.
-        - 'Edit Contoller Event' dialog:
-          - Fixed 'Create New Controller' popup list: Now it actually creates the selected controller.
-          - Fixed 'Program' controller not showing correct program after selecting other controllers in list.
-          - Fixed too high initial value displayed for controllers without an initial value in the instrument file.
-        - 'Enter Poly After Touch' dialog:
-          - Fixed uneditable note box. Switched from PitchLabel to PitchEdit. 
-      * Feature added - Pianoroll and drum editor controller graphs now have a static manual adjustment knob ! (T356)
-        - Now you don't have to enter controller graph values to adjust a setting, just turn the knob.
-      * Changed 'Create New Controller' in event editor 'Edit Contoller Event' dialog, and 'add new...' controller popup 
-         list in piano roll. (T356)
-        - Now they only list controllers not already added, instead of all of them. 
-      * Fixed 'Position Edit' controls (0001.01.000 + up/down buttons) - click 'down' nothing happens. (T356)
-        - Added updateButtons() call to PosEdit::setValue(). 
-      * Fixed Mixer midi strip variation, reverb and chorus send knobs not enabled after controllers added. (T356)
-        - Now you only need to create the controller to enable the knobs, allowing you to set a manual value without  
-           having to actually create one or more controller events first.
-      * Fixed midi trackinfo pan value not the same as midi mixer strip pan value. (T356)
-        - Trackinfo pan now goes from 'off' (-65) to -64 to +63.
-      * Fixes to fluidsynth. Would crash when getting patch names from an 'unspecified' soundfont. (T356)
-        - In fluidsynti.cpp, various places check for FS_UNSPECIFIED_FONT only. Added check for FS_UNSPECIFIED_ID.
-        - Not sure if FS_UNSPECIFIED_FONT is redundant and unnecessary, but left it there anyway.
-      * Fixed old bug - IntLabel control - right click causes popup and runaway increment. (T356)
-        - Fixed NEntry widget. Same fix as for double entry widget (DEntry), somewhere way down on this change log...
-      * More fixes to wave part gluing/splitting/drawing/playing. (T356)
-        - Now all splitting/gluing of wave parts, even overlapping ones, even multiple times, should work.
-        - Fixed problem in WaveTrack::fetchData causing it to read too many samples of wave events.
-      * Fixes and changes to bounce functions. (T356)
-        - Fixed garbled target track or file. processWrite() was writing ALL the Audio Outputs to the file or track, instead of just one.
-        - Feature: Bounce to track (from menu): You now first select any single Audio Output track, and any single target Wave track.
-        - Feature: Bounce to file (from menu): You now first select any single Audio Output track.
-      * Fixed some problems with Mastertrack window. (T356)
-        - Mastertrack window was causing tempos to be inserted into tempo list, if window open when project loaded.
-        - Added signature list change event handling - to update signature value box.
-        - Fixed drawing of signature scale after signature list change.
-      * Fixed wave editor 'reverse' function crashing. (T356)
-      * Fixed track list not highlighting wave tracks (default green) when selected in the arranger window. (T356)
-      * Fixed midi VU meters, again. (T356)
-        - Borrowed idea from Muse 2. Self-decay the meters in midi strip code, rather than the midi thread code.
-        - The midi VU meters self-decay at a rate determined by the GUI update rate in the configuration.
-11.03.2008
-      * Fixed arranger controls not giving up keyboard focus after adjustment/entry. Requested by user G.B. (T356)
-      * Fixed gluing/splitting of waveparts. (Known bug of 02.02.2008 is gone now). (T356)
-      * Fixed playing, and arranger/waveeditor drawing, of glued waveparts. (T356)
-        - 'Working on' of 26.01.2008 is done.
-        - Drawing of waveparts, even 'glued' ones, now fully respects tempo changes.
-      * Fixed 'glued' mono + stereo wavepart drawing. Was drawing outside track if track height small. (T356)
-      * Fixed soloed/muted wavetrack audio 'bleeding' into other wavetracks. fetchData() was not checking isMute(). (T356)
-      * Fixed part colour popup to change unselected clicked item colour if no parts selected. (T356)
-      * Fixed recent possible accidental(?) change of tracklist xml tag 'header' to 'header1'. (T356)
-        - Muse was complaining: Tlist: unknown tag <header> at line 32
-      * Fixed MREventList in mpevent.h, to use midiRTalloc instead of audioRTalloc. (T356)
-        - Possible accidental(?) coding error since there is no other usage of midiRTalloc at all in muse.
-        - If it does help at all, it might just ease RT congestion a bit.
-      * Working on MIDI VU meters. They're too fast to see with jack, but should be OK with dummy driver. (T356)
-      * KNOWN PREEXISTING BUGS
-        - If you move waveparts around AFTER the current play position, then play, muse actually plays the same
-           arrangement as if you had not moved the waveparts at all, just one time - rewind the play position and
-           it corrects itself. This is because muse does not prefetch the audio again after the movement of the parts.
-          Workaround - After moving waveparts, be sure to rewind the play position to a point AT LEAST before those parts.
-        - Wave parts will sometimes mysteriously go silent for no reason. Move the parts slightly, or reload, or do
-           certain other operations, then the sound comes back. Working on this important issue!  
-02.02.2008
-      * Fixed a slight error in BigTime absolute display. Now shows proper absolute tick and frame values. (T356)
-      * Added an extra arranger wavepart right-click popup menu item - "file info". 
-        Shows what wave file(s) are used by the wavepart event(s). 
-        TODO: Either remove duplicate file names or list the files by event number. 
-              Spice up with more info like wave starting/ending points etc.             (T356)
-      * Removed some debug output lines from dummy driver - may have been causing intermittent crashes when moving position. (T356)
-      * Some more fixes to arranger partcanvas wavepart drawing - speeded up and tightened code.
-        KNOWN BUG: Does not correctly display more than one wave 'event' (file) per wavepart. (For ex. two waveparts 'glued' together).
-                   Working on this issue ! (T356)
-27.01.2008
-      * Fixed MIDI mixer strip VU meters. Let there be light! Not the best solution, a choice between two so-so methods. 
-        Looking at how to improve it... (T356)
-26.01.2008
-      * Pianoroll and drumedit now open at the current cursor position. (T356)
-        (The cursor position is that moving black vertical line on the time scale). 
-        This means you just click on an arranger midi part where you want to open the editor.
-      * Arranger, pianoroll, drumedit and waveedit now stay at their current (left-side) position when you use the scale bar. (T356)
-      * Fixed 'end of part' drawing problems - now you are guaranteed to see about 1+1/4 extra bar after the end 
-         of a pianoroll/drumedit (also compensating for drumedit drummap/canvas splitter), allowing you to 
-         add/move/clone notes past the end and allowing muse to properly auto-extend the part (to the right).  
-        TODO: Auto-extend parts to the left when necessary. (T356)
-      * Added vertical, and fixed horizontal, lasso/parts/events auto-scroll - even past the end of parts.  (T356)
-      * Fixed drawing of wave parts in arranger. Now you can rely on the 'picture' of the wave inside the part 
-         lining up correctly with the time scale, regardless of tempo/timesig changes in the song. (T356)
-      * More fixes to wave editor. Fixed drawing of markers - they were much too close together.
-        Added songChanged synchronization with arranger (you move/resize a wave part and the wave editor readjusts, etc.)
-        WORKING ON: In the arranger, if you move a wave part to the left, the wave editor will readjust but the
-         wave may be chopped off at the end. Investigating...  (T356)
-      * Corrected the drawing order of items from ALL parts in pianoroll and drumedit. For multiple-part viewing.
-        WORK IN PROGRESS: Added ability to select items from different parts at once, and to move them. 
-                          For now, only items from the currently selected part actually move. (T356)
-      * Added small checkbox to Big Time display. Now you can switch between formatted or absolute time display.
-        Absolute is handy for syncing with another app, or just knowing, absolutely, where you are in the song. Absolutely.
-        Added ToolTip popups describing each 'group' of numbers (bars, beats, ticks etc). (T356)
-20.01.2008
-      (ml)
-      * Added function for deleting note overlaps in piano roll (usually makes fluidsynth grumpy - silencing the following note). 
-      * Some work on opening the editor at current position and selecting the leftmost item
-      (ws)
-      * fixed hanging note when editing multiple parts in midieditor and
-        switching part
-19.01.2008 (ws)
-      * fixed Song::changeEvent(): part tick offset was not used
-      * fixed removing of controller events in Song::deleteEvent(); this affects midi recording
-        in replace mode and controller editing
-12.10
-      * Fixed automation right-click popup menu 'prev/next event' not working after a tempo change. (T356)
-        - Now you are guaranteed to be able to navigate the automation events, regardless
-           of how many tempo or time signature changes are in the song, or if you change the tempo/sig(s)
-           AFTER adding automation events.
-12.06
-      * Fixed softsynths 'Fluidsynth', 'Deicsonze', and 'Fluid' to allow pitch wheel changes. (T356)
-      * Fixed softsynths 'Fluidsynth' and 'Deicsonze' to allow MIDI patch changes. (T356)
-        Note that I included MIDI patch change code in 'Fluid', but fluid is slightly broken
-         and still doesn't respond. 'Fluid' should be removed from muse. It's obsolete. Use Fluidsynth.
-11.22
-      * Fixed LASH loading and saving. (T356)
-        - Symptom - Muse fails building with error about 'lash_get_fqn' not declared in scope.
-        - Cause - You are building muse with LASH > 0.5.1, where certain header files have been removed.
-        - Fix - Replaced both calls to lash_get_fqn with QString manipulations instead.
-      * NOTE! I encountered a muse segfault when you use LASH to close the project.
-        It says 'received unknown LASH event of type 10' (which is LASH_Server_Lost), then it says
-         'received unknown LASH event of type <<some big random number>>, then segfault and
-         a glibc backtrace due to 'double free or corruption'. Not a big deal, but this will need to be fixed.
-      * Tested OK saving and loading projects with LASH 0.5.4
-
-09.02
-      =======================================
-             * 0.9 final tagged (rj)
-	     no changes from pre3
-      =======================================
-
-08.22
-      =======================================
-             * 0.9pre3 tagged (rj)
-      =======================================
-
-08.20
-      * Fixed bug 1650953 - select and move segfault  (T356)
-        - Symptom - In piano roll, select some notes and move them past the end of the part,
-          then muse crashes. Also occurs when pasting or adding notes past part length.
-        - Cause - Canvas was not adding the new resized part to the midi editor. Also a bunch
-          of other stuff needed to be fixed for it all to work OK.
-      * Fixed broken master list editor. Should also cure bug 1687166 (T356)
-        - Symptom - Open master list and nothing is listed (should be at least one default
-          tempo and one default time signature). Click to add new tempo or sig and muse crashes.
-        - Cause - Some code was added to lmaster.cpp: LMaster::updateList() which broke it.
-      * Added auto part resizing to drum canvas  (T356)
-        - Symptom - In drums editor, there is no auto part resizing, like in piano roll.
-        - Cause - Missing all part resizing code. Added.
-      * Fixed intermittent crash when cutting a part. Improper 'delete while iterate' STL operation. (T356)
-      * Fixed arranger part selection - selected parts now draw on top of non-selected parts. (T356)
-      * Fixed arranger part operations (move etc.) to use selected part. (T356)
-      * Fixed arranger keyboard left and right previous/next part selection. (T356)
-        - Now you can use left/right arrow keys to cycle through parts in a track,
-           expecially useful for overlapping parts!
-      * Regarding part selection - A remaining problem is that there is no 'z-order' drawing
-         scheme. The part item list has no such ordering support.
-        - This means a selected part will (now) appear on top of others, but when unselected,
-           it will not stay on top. Adding that support could be messy.
-        - Best to leave it alone for now. At least you can (now) cycle through overlapped parts...
-      * Tested arranger part operations with worst case scenario - multiple tempo changes
-         and multiple parts. Test OK. All should be OK now. (T356)
-      * Added tooltip to song length box in arranger with text 'song length in bars'. (T356)
-      * Fixed wave editor - Black selection bar intermittent drawing. (T356)
-        - Symptom - In wave editor selecting a portion of the wave caused intermittent drawing
-          of the black selection bar.
-        - Cause - Unsure of exact cause or a permanent cure, but it's better now.
-          But it still draws intermittently if you zoom in (x magnify) very very close.
-          Working on this issue.
-      * Added feature - Wave editor now allows you to open multiple selected wave parts and
-         will display only those parts and you can edit them. Tested wave editor 'functions'
-         menu and it works OK on some or all selected portions of the multiple wave parts.
-        - This is in preparation for a possible automation viewer and/or editor.
-        - Work in progress. Some rough parts still to clean up. (T356)
-      * Fixed intermittent arithmetic exception crash in wave viewer. (T356)
-      * Fixed bad wave drawing above certain zoom level in wave editor. (T356)
-      * Enabled serial numbers in my deltaTick2Frame and deltaFrame2Tick routines, and
-         merged code. Makes it a bit faster. (T356)
-=======
-08.16 * Reverted change in synth.cpp, realtime playback of softsynths did not work (rj)
-      * fix for sustain pedal to work as suspected when looping. (rj)
-      * Above involved adding "managed-controllers", whenever a controller is found
-        time will tell if this is the right solution (rj)
-02.13
-      * Feature request: 1650957 space bar should start/stop playback fixed by
-        adding this possiblity, old style is possible with property setting in
-  configuration. (rj)
-02.09
-      * Fixed bug 1645575 - Eraser tool causes segfault in drum editor (T356)
-      * Added the project AUTHORS        (whooo are you... who who...) (T356)
-01.27
-      * Fixes to remove lots of warnings and potential errors in the code (WillyFoobar)
-        (rj by proxy)
-      * Fix for bug #1074808 "NRPN - still 128 values?" from Sebastian Gutsfeld (rj)
-01.06
-      * Changed 'exit' to 'return' when plugins are invalid (rj)
-01.05
-      =======================================
-            * 0.9pre2 tagged (rj)
-      =======================================
-
-2007.01.03
-      * Fixed some major issues with undo/redo. (T356)
-        - Symptom - Delete track(s), then undo, muse crashes.
-        - Symptom - Rename a track, then undo, muse crashes.
-        - Cause - 'Delete' destroyed the track(s), so undo would attempt to restore
-          non-existent object. Other problems caused rename crash. Still more undo/redo code
-          was causing problems, like left-over synth instances hanging around after loading a new song,
-          or crashing upon loading a new song if certain redo items were still in the redo list...
-        - Known bugs - DON'T rename a synth track then undo, muse still crashes. Not sure why yet.
-          After 'un-deleting' a synth track, you will have to open the 'MIDI Ports/Soft Synth' window
-          and manually restore its MIDI port.
-          Don't do anything too crazy like deleting multiple tracks while playing, might possibly crash.
-          After undeleting an audio wave track, its sound might not be sync'd with the rest of the song -
-          simply hit the fast-forward or rewind button to cure that.
-      * Prevented saving, and segfault upon loading, of routes in med file with empty names. (T356)
-        - Symptom - Jack shuts down, so instead of attempting to restart audio, you save your work,
-          but when you try to reload your song, muse crashes.
-        - Cause - Upon Jack shutdown, all audio in and out Jack routes were erased, and muse saved
-          the song like that. Upon reload, muse would crash due to the empty routes in the .med file.
-        - Note that this does not cure the original cause of this (Jack routes erased), so although you
-          can now re-load the song without muse crashing, you must manually restore all the audio in/out
-          Jack routes. So please try to restart the audio first. (Trying to fix this issue...)
-      * Add new soloing system. Check it out! (T356)
-        - Symptom - You click solo on a track but you hear nothing, and all other tracks are muted.
-        - Cause - Wasn't really broken, you just had to solo all other tracks in that routing path
-          to make sure whatever you were attempting to solo made its way to its destination so you
-          would hear it.
-          Inconvenient, yes. Especially with a large song with a lot of tracks, groups etc.
-          With this new system, this is done automatically for you. Even MIDI tracks driving synth
-          tracks, too.
-        - Known bug - If a MIDI track drives some external MIDI device which you feed the audio
-          back into muse, there's no way for muse to know how to couple the MIDI and audio in
-          tracks together. Sorry you'll have to manually solo both.
-          BUT - I'm CONSIDERING adding this - If an audio in track's name BEGINS WITH the name
-          of a MIDI track, I could couple them that way. For example - MIDI track named 'Track1' and
-          an audio in track named 'Track1 Input', then muse could mutually solo both tracks properly...
-      * Enabled MIDI mixer strip solo buttons. (T356)
-      * Some other minor fixups here and there. (T356)
-        - Other known bugs - Due to an earlier oversight, if you use your own custom LADSPA plugin
-          GUI's (see README.ladspaguis), QCheckbox and QCombobox controls may not automate quite right.
-          Note that this includes just one built-in custom GUI - for the 'TAP Reverberator' plugin.
-21.11
-      * Fixed loading of .med files, with plugins, created before muse-0.9pre1. (t356)
-        They will load, then save, correctly now.
-        - Symptom - Load an old song with plugins and some of the plugin controls can't be moved.
-        - Cause - Controller id's in med file mixed up, not save correctly, because of moving rack
-          plugins around, which never properly switched the id's before muse-0.9pre1.
-      * Fixed soloing (again). (t356)
-        - Symptom - Delete a soloed track, then soloing is messed up - other tracks may be muted but don't show it,
-          only way out is to reload. Speaking of which, loading also did not set track soloing correctly.
-        - Cause - Upon deleting a track or loading a song, track solo ref count was not updated.
-      * Added infrastructure for an improved soloing system, much more intuitive. (Not done yet!...) (t356)
-      * Fixed spelling mistake - Freeverb "Rooom" size. (t356)
-13.11
-      * By T356
-      * More automation fixes. Everything should be working now, check it out!
-      * Although still no automation editor, all of these changes so far should help
-         manipulate and navigate the events.
-      * Fixed touch mode events storing, was not right.
-      * Fixed a couple of stray signal connects which may have caused wacky controls.
-      * Sliders, knobs and labels now respond to mousewheel and paging properly.
-      * Linked slider/knob labels with sliders and knobs so paging or mousewheeling
-         a label works smoothly and linearly, even with logarithmic controls.
-      * Fixed integer controls (like Glame Bandpass 'stages').
-      * Fixed external plugin gui's to look like the built-in freeverb. This means
-         they now scale properly with different fonts. :)
-      * Hopefully the last of major automation conceptual changes - making sliders, knobs,
-         labels and checkboxes work together with the four automation modes, barring any fixes,
-         and a few tweaks to follow (like shift key for label mousewheeling, and how to make
-         a label stop updating so values can be entered). Some more right-click menu options
-         may follow (like store event, enable automation, enable interpolation).
-         Automation readme to come (need it!).
-      * Still to fix - Controls' right-click automation menu still a bit confused upon tempo changes.
-10.11
-      * reworked mute, old solution caused problems for solo
-      * solo is now united between midi and audio, they were previously
-        interdependant. This has the downside that if a soft synth is
-        soloed both the midi and the audio needs to have solo enabled (rj)
-      * fixed issue with hanging notes for softsynths when stop is pressed (rj)
-      * Backported fix from HEAD for using a file descriptor from two different
-        threads, should make it work somewhat better with SMP (rj)
-      * fixed faulty off value for aux when set to max (rj)
-      * Allow wheeling of tracks from track list (rj)
-08.11
-      * reenabled mute for outputs (rj)
-07.11
-      * Fixed timing bug causing MusE to depend on jack buffer setting
-        this needs testing, it involved uncommenting some code that might
-        have been commented for a reason (rj)
-05.11
-      * Added support for auto-scroll for other drag operations but
-      rubberband (rj)
-04.11
-      =======================================
-      * 0.9pre1 tagged (rj)
-      =======================================
-04.11
-      * Adopted RT locking method from 1.0 branch. (rj)
-      * Preparations for 0.9pre1 (rj)
-31.10
-      * By T356
-      * Fixed old bug - DoubleLabel right click causes popup and runaway increment.
-      * Currently the increment/decrement is fixed at 1, so that's why it doesn't
-         work for pan or other controls with 1.0 or less max.
-        - So fixes to that are next...
-29.10
-      * By T356
-      * Changing global tempo now updates things. (Like resizing wave tracks).
-      * Fixed segfault upon lengthening a blank new wave track part.
-      * Removed some thread-unsafe code from my first patch
-      * Fixed ladspa plugin automation not working until plugin displayed.
-      * Improved automation and ladspa plugin automation behaviour.
-        - While stopped and in touch mode, clicking an automateable control immediately
-           writes the value to the list, so you don't have to press play then stop
-           just to store one value.
-        - Smoother slider transitions from last touched value to previous stored values,
-           so that they don't suddenly 'jump' to previous stored values when you let go.
-        - Checkboxes now automated. Their behaviour in touch mode is slightly
-           different than sliders - they remain 'touched' until you stop, but store
-           only up to the last toggle done.
-        - Checkboxes now check as soon as you click them.
-        - Sliders now have 'mouse cursor capture (tm)' so you can actually grab onto
-           the thumbs even if they are moving too quickly due to automation. Paging can
-           still be done with right button.
-        - Sliders and knobs now work properly if you 'page' them (click outside the thumb
-           or dial).
-        - Added right-click popup menu on all automateable controls with
-            previous event    (seek)
-            next event        (seek)
-            erase event       (if cursor is on one)
-            erase range       (between left and right markers)
-            clear automation  (clear all events)
-          Known bug: Becomes slightly confused if tempo is changed after doing automation.
-          Workaround for now: Press play to update the cursor to a new position.
-04.10
-      * Select the right item when items are stacked on top of each other, for pianoroll
-        and arranger (rj)
-      * Do not display resize cursor when last track cannot be resized (rj)
-03.10
-      * Apply effect rack before sending aux, changed after discussion with Thorsten Wilms (rj)
-      * Auto assign internal softsynths upon creation (rj)
-      * New method for pasting parts. If several parts are pasted they are now spaced
-        according to their original spacing. This only works reliably when the copied parts
-        are all on one track. (Possibly copying parts from several tracks should be
-        disallowed), fixes bug #1516294 (rj)
-      * Muting of midi-tracks no longer mute input, bug #1092343 (rj)
-01.10
-      * Fixed issue with playing of controllers when moving playhead. basically
-        all events from all parts where played at the beginning, fixes bug #1316542 (rj)
-30.09
-      * Cached peak files are now updated when wave files are more recent, bug #1469177(rj)
-      * Fixed bug with recording notes to existing part, bug #1552783 (rj)
-29.09
-      * MusE now asks when imported wave file has differing samplerate, bug #1428248 (rj)
-28.09
-      * Always restore sequencer configuration even when song
-        is loaded without config, fixes bug #1092289, midi mixer settings not restored (rj)
-27.09
-      * Optimizations and fixes to rubberband scrolling (rj)
-      * Aux changed to be affected by volume and pan (rj)
-      * Aux now affected by mute (rj)
-26.09
-      * Fix for pianoroll selection of events in/outside loop with respect to part offset (ml)
-      * Added lasso/rubberband scrolling in arranger, drumedit and pianoroll, bug #1057732 (rj)
-24.09
-      * Followups by T356
-      * Fixed rack plugin change not clearing automation
-      * Fixed moving an empty rack position
-      * Fixed moving a plugin onto itself
-      * Changed colours of audio output and wave track
-         strip names to match icon colours
-20.09
-      * Fixed aux sending (rj)
-      * Patch from terminator356 to fix logarithmic feedback to plugin sliders (rj)
-19.09
-      * Various fixes from Torsten Duwe (rj)
-        - deicsonze undefined returnvalue
-        - vam uninitialized value
-        - 64bit fix for calling external wave editor
-      * Fixed multiple part undo for move,drag and copy in arranger, bug #1516298 (rj)
-      * Fixed multiple note undo for move and drag in pianoroll (rj)
-      * Fixed cursor placement in List Editor upon deleting events bug #1417718 (rj)
-16.09
-      * Following changes by   { terminator356 [at] users [dot] sourceforge [dot] net }
-      * The changes can be applied to muse-0.7.2preX or muse-0.8.1 and work fine in both.
-      * Fixed soloing. Also multiple soloing now allowed.
-        - TODO: Soloing of tracks which feed a group. Workaround for now: Solo the tracks AND the group.
-      * Enabled solo buttons on the mixer strips.
-      * Fixed major issues with rack plugin moving, saving and loading.
-      * Fixed problems with multiple tempo changes and incorrect wave part lengths.
-      * Changed plugin code to use double instead of float to stop certain errors, and consistency.
-      * Fixed some minor spelling mistakes.
-      * Fixed issues with audio track automation.
-      * Fixed very 'jumpy' volume sliders and pan knobs under automation.
-      * Fixed several other small problems. For example a duplicate define in song.h
-      * Changed the way audio track automation works.
-        - For ease of use, the current mode now remains selected, even after a file write and re-open.
-        - To reduce the chance of accidental changes, for added visual warning, Touch and Write modes
-           colour the automation mode box red.
-        - Write and Touch modes: Only if the controls were touched, changes will be stored when
-           the transport is stopped. Since the current mode remains active, you can move to
-           another part and do some more automation.
-        - Write mode: The controls are updated with stored values until you touch them, then they
-           store from the time you hit play to the time you hit stop. If you touch the controls AFTER
-           you hit play, you may get unexpected results so remember to initialize that 'first value'
-           (at the time when you hit play), since muse will NOT 'fill in' from the time you hit play
-           to the time you first touched the control, with the value of that first touch. (Maybe support
-           this later).
-        - If you load a plugin preset, if the control values don't seem correct, try setting the track's
-           automation to 'Off', because the track will usually be on 'Read' - reading stored values.
-        - TODO: Muse really needs an automation editor/viewer! Perhaps integrate with wave viewer.
-                Also, add one more automation mode: 'Instant mode'.
-      * Hmmm, oh yes - added full LADSPA plugin automation. Check it out!
-        Compatibility with existing med files' Plugin section should be OK, but if you open an
-         existing med file with plugins, and the plugins' control values are no longer correct,
-         let me know. See comments (with these changes applied) audiotrack.cpp around line 557.
-        - TODO: Checkbox automation not working right. We need a better checkbox - one which checks
-                 as soon as you press down! Also would like to add bypass and mute automation.
-05.08
-      * Fixed build without fluidsynth (rj)
-14.07
-      * fluidsynth: fixed pitchbend events, fixes bug #1404212 (ml)
-
-13.04
-      * Editing volume and pan with keyboard on audio strip now works (rj)
-      * Fixed issue with recording audio, fifo could overflow when
-        when running with small jack sizes (rj)
-      * fixed storing of wave files with relative path when located
-        "under" the project path (rj)
-28.03
-      =======================================
-      * retagged app.cpp and Yamaha-Motif-Rack.idf (rj)
-      =======================================
-      * fixed build bug in app.cpp (rj)
-      * fixed bug with Yamaha-Motif-Rack.idf (rj)
-27.03
-      =======================================
-      * 0.8.1 tagged (rj)
-      =======================================
-      * some lash fixes (rj)
-26.03
-      * Added next/prev marker, keyboard shortcut (rj)
-25.03
-      * Reverted fix for silent softsynths, synths were not silenced
-        upon [stop], gah! (rj)
-      * Added LASH support (patch from evermind @ gentoo) (rj)
-21.03
-      * Added Motif-Rack idf from europeen (rj)
-19.03
-      =======================================
-      * retagged dummyaudio.cpp (rj)
-      =======================================
-      * Fixed build bug in dummyaudio.cpp (rj)
-18.03
-      =======================================
-      * 0.8 tagged (was 0.7.2) (rj)
-      =======================================
-      * Added idf files from linux chaos
-        Waldorf-Q, Yamaha-01v,Yamaha-Motif, Yamaha-P100 (rj)
-05.03
-      * Arranger no longer performs "seek" while editing
-        when in ext-sync mode (rj)
-      * Play/Stop disabled for all when in ext-sync mode (rj)
-02.03
-      * more work on extern sync, loop works better (rj)
-      * no-audio + extern sync does not hang anymore (rj)
-      * muse now starts even if jack is not found (rj)
-      * fixed a number of divide by zero errors mainly affecting zoom (rj)
-11.02
-      * Added menu alternative for storing plugin preset (rj)
-06.02
-      * Updated/improved swedish translation. (rj)
-04.02
-      * Fix for softsynths going silent under load. Sometimes events arrive
-        with time=0, this is now handled. Why it happens is yet unknown.(rj)
-02.02
-      * check audioDevice and _client for validity (rj)
-13.01
-  * amd64 fix in driver/rtctimer.cpp (ws)
-09.01
-      * Added patch for vam from mane_grotesk (rj)
-07.01 * On drumtracks, there was no check for non-existing ports. If a drum
-        instrument was configured to output to a port other than standard for
-        the track, there was a segfault. Now output to non-existing ports are
-        simply ignored (ml)
-
-05.01
-      * Added updated french translation from Intent (rj)
-      * Fixed crash bug in pianoroll when moving several
-        events outside part. (rj)
-      * Fixed esc key in drumeditor name edit (rj)
-
-03.01
-      ========================================
-      * 0.7.2pre5 (final!) tagged (rj)
-      =======================================
-
-02.01
-      * Added popup when enabling rec for a track unable to create it's
-        wave file (rj)
-2006.01.01
-      * Enlarged listeditor dialog (FR:1392090) (rj)
-      * Changed preset file extension of vam presets to .vam (rj)
-      * No longer translates dir name for drummaps (rj)
-      * Fixed crash bug when arrowing left in an empty editor (rj)
-      * Added F2 name edit in drum editor (rj)
-      * Added up/down arrowing in drum editor (rj)
-30.12
-      * Fixed bug in detection of RTC (rj)
-      * Removed ugly printouts from probeing for browser (rj)
-29.12
-      * Reawoken Organ: (rj)
-           - read/write current settings
-           - automation of all parameters
-      * Reawoken VAM: (rj)
-           - read/write current settings
-           - automation of all parameters
-           - preset dialog
-28.12
-      * Changed audio prefetch buffer to be dynamically sized after the
-        jack buffers (rj)
-27.12
-      * Fixed allocation of wave memory when reading and writing sound files
-        fixes problems with audio-operations (rj)
-      * Fixed problem when external wave editor was not correctly defined (rj)
-26.12
-      * Race condition between threads caused lockup upon quit and load project.
-        Fixed by checking if sequencer is actually running before making
-        internal IPC call, made major difference (rj)
-21.12
-      ========================================
-      * 0.7.2pre4 tagged (rj)
-      =======================================
-
-      * Now dynamically extends parts if events continue after end and
-        ignores pastes before part, fixes bug:1363066 Paste outside segment (rj)
-18.12
-      * ExtSync improvements, handles relocation of playhead during stop
-        (on my gear atleast), does not work during play (rj)
-      * fixed bug building synths (introduced during last checkin) (rj)
-14.12
-      * fast_log10 exchanged for HEAD version (old version doesn't work with
-        gcc4), fixes problem with meters and sliders not working (rj)
-      * Added patch from Martin Habets fixes core dump problem while
-        building with LADCCA (rj)
-      * Added patch from LarryL autoconf changes to synth building (rj)
-      * Fixed drag in effect rack that it does not start directly (rj)
-      * Adapted optimization parameters for gcc4 (rj)
-13.12
-      * Possibly fixed issue with crashes during load of projects
-        by putting delays between start/stop of sequencer and actual load
-        operation. This should make sure that the process loop is idle. (rj)
-      * now tries both RTC and Alsa (in that sequence) for main timer (rj)
-      * added checks if alsaDevice is valid (fixes several crash bugs when
-        muse goes zombie). Should be done in more places. (rj)
-      * added check if audio is really running when jack calls process.
-        Sometimes it's called when it should not. (rj)
-12.12
-      * updated muse_ru.ts from Alexandre Prokoudine (ws)
-11.12
-      * removed assert, fixes bug:1376783, deleting track with pianoroll open
-        crashes muse
-09.12
-      * Added patch from Daniel Cobras regarding compatibility with 64-bit
-        systems (rj)
-      * fixed crash bug when muse tried to show plugin-guis when the
-        plugin did not exist (rj)
-29.11
-      * fixed seg fault when deleting last note in pianoroll editor (ws)
-13.11
-      ========================================
-      * 0.7.2pre3 tagged (rj)
-      ========================================
-      * Changed back to AlsaTimer (rj)
-8.11
-      * fixed typo in share/locale/Makefile.am
-7.11
-      * removed some dubious locks in thread start (ws)
-19.10
-      * Fixed bug 1329537 (User defined fonts not updated) (rj)
-13.10
-      * added emuproteus200.idf from Piotr Sawicki (ws)
-      * updated polish translation
-12.10
-      * added polish translation from Piotr Sawicki (ws)
-26.9
-      * Handle restart of Jack and restart of audio (rj)
-21.8
-      * Added new timer classes from Jonathan Woithe. (rj)
-14.8
-      * Solo for audio tracks improved by removing the possibility to mute Output tracks (rj)
-      * Implemented REPLACE for midi recording (seems to sometimes miss notes though...) (rj)
-      * Fixes for Appearance dialog, background pic, event display (rj)
-      * Marker window now toggling (rj)
-      * Added "raise" to more dialog windows (rj)
-      * compress event display in parts somewhat (rj)
-      * reverted pipeline again...bah...think before you change (rj)
-      * bounce now stops correctly (rj)
-
-
-13.7
-      * Fixed position of import of wave files, inserted at cursor, now inserts at mouse (rj)
-      * Added drag&drop support to plugin racks in mixer, internal and to/from disk (rj)
-      * Changed the plugin pipeline depth to 5.. four is too little.. though it should be runtime extendable, wip (rj)
-      * Added patches from Daniel Kobras that correct errors in EditMetaDialog
-      and old html docs. (rj)
-      * Added uppercase filters to midi import (rj)
-
-12.7
-      * Added quick search to LADSPA plugin dialog (rj)
-11.7
-      ========================================
-      * 0.7.2pre2 tagged (rj)
-      ========================================
-10.7
-      * Added possibility to edit selection of wave in external editor (ml)
-9.7
-      * Added gain modification functions + misc to waveedit (ml)
-8.7
-      * Updates to wavefile modification, implemented normalize, fade in, fade out and reverse of wavefile selection.
-        Removal of wavefile undo data on shutdown (ml)
-7.7
-      * Added undo/redo handling for modifications of wavefiles + mute of selection in waveedit. expect updates. (ml)
-6.7
-      * Added selection to waveeditor + ignore unhandled keyevents in waveeditor (ml)
-4.7
-      * Implemented resize of waveparts (ml)
-      * Added Idf files by Steve D for Roland FantomXR, SRX-02 and SRX-09 (rj)
-2.7
-      * Fixes for waveedit: offset problem fixed (no more empty waveedit windows), initial zoom value to
-        roughly match size of part (ml)
-01.7
-      * Fixed bug with loading of background pixmaps (rj)
-28.6
-      * Only send MMC continue message when in playback state when seeking (rj)
-22.6
-      * Fixed bug 1199171 (Time change: a part does not completely fit into 4 bars), part
-        resize problem (ml)
-21.6
-      * Added scrollwheel support for vertical scrolling in arranger, pianoroll and drumeditor (ml)
-      * Fixed bug 1056996: Multiple selection, but single paste. Possible to copy several parts in arranger (ml)
-20.6
-      * Fixed bug 1092424: bug in reposition of instruments in drumeditor (ml)
-19.6
-      * Added recall of last entered directory in filedialog for global and user mode + recall of
-        opening mode (global, user or project) (ml)
-18.6
-      * Fix for drumtracks and part export/import
-      * Fix for opening Midi port/softsynth dialog when already open (now raised and set to active window)  (ml)
-13.6
-      * Added export/import of midi parts (.mpt-files), drag & drop also possible (ml)
-05.6
-      * Fix for generating midi clock, needs field testing. (rj)
-04.6
-      * Added fixes to AlsaTimer and DummyAudio from Jonathan Woithe (rj)
-      * Added fix so AudioPrefetch is initialized upon starting the sequencer,
-        which for instance happens when loading a song (rj)
-24.5
-      * Added Roland E-28 idf file from Jonathan Woithe (js)
-16.5
-      * Updated ladspa-gui for newer version of tap-reverb (rj)
-15.5
-      * Allows for several midi devices with the same name, they are now renamed
-        internally so they have a unique name. This is a partial fix for synths
-        that do not correctly give each instance a new name. (rj)
-12.5
-      * s1 softsynth added square wave with parameter (rj)
-11.5
-      * Fix for bug 1198747, tests for fluidsynth and rtcap in configure.ac (rj)
-      * Fix for bug 1198744, added patch for reading browser setting from config
-        without crashing, from Philip Nelson (rj)
-      * Fix for bug 1188767, downmix won't stop playback until reaching the
-        right marker (rj)
-08.5
-      * the instrument list in the drumeditor now has fixed width when resizing the window (finally, it made me nuts) (ml)
-      * added nudge event position left/right w keyboard (ctrl+left/rightarrow as default) to pianoroll and drumeditor (ml)
-      * added fixed length command to pianoroll, uses snap-to value (ml)
-07.5
-      * added snap/quantize patch from Petr Mazanec (snap of notes in pianoroll+drumeditor is now controlled by
-        snap, not quantize) (ml)
-      * simpledrums: added save/load of setup to file, bugfixes.
-        simpledrums version is now 1.0 (go figure! ;) (ml)
-06.5
-      * No longer crashed when enabling audio metronome when there's an aux (rj)
-
-      ========================================
-            * 0.7.2pre1 tagged ! (rj)
-      ========================================
-04.5
-      * extern sync algorithm "reworked" (rj)
-1.5
-      * simpledrums: backported fixes for channel number + memory deallocation,
-        fixed issue with clearing of sampledata, I hope (ml)
-30.4
-      * fluidsynth: bankno is saved to project, switched to hbank from lbank (ml)
-      * Now really runs libtoolize in autogen.sh (rj)
-29.4
-      * make sleep() in watchdog thread non interruptible to avoid
-        watchdog timeouts at startup (ws)
-      * added vst preallocation of memory "fix" (rj)
-      * More fixes to filenames containing dots (for instance wca files) (rj)
-      * Added Yamaha-PSR275 instrument file by Petr Mazanec (rj)
-27.4
-      * fixed patch-info issue in Fluidsynth (bug 1191214) (ml)
-25.4
-      * fixed bug w paste in drumeditor, 1189267, patch from P Mazanec
-18.4
-      * removed file ltmain.sh; this file is now created by "libtoolize"
-        command in autogen.sh (ws)
-16.4
-      * Fixed bug 1152441, filename can now have several dots (ml)
-      * Fixed bug 1183980: fluidsynth pitch controller wasn't given to MusE from the synth (ml)
-15.4
-      * Added a redundant test that makes midi input work on PPC for some
-      reason. (will research a better fix for 0.8) (rj)
-10.4
-      * Added an error popup when importing wave files fails. (rj)
-30.3
-      * [DONE] midi -> edit instrument is not implemented -> remove it (js)
-      * [DONE] same for random rythm gen -> is not implemented -> remove it (js)
-      * [DONE] BUG: pianoroll editor -> tools resize wrong, they should stay on max they need instead of width fit (js)
-      * have to go to the dentist on 7.3.2005, god help me, i fear this will kill me (js)
-29.3
-      * README changed some links (js)
-      * README added some icons to arranger (js)
-      * added support for german localisation (30% translated, still quite bad) (js)
-      * help: changed muse homepage location (js)
-      * more to come (js)
-28.3
-      * Fix for overflow when importing midi (rj + ml)
-6.3
-      * Added some fixed on dialog handling, mainly "esc" will close the widget now. (js)
-      * As usual added the icons which i forgot to add in the last release
-      * Corrected the drums icon which was a wave icon (in the dropdown, arranger)
-26.2
-      * Added Roland-SCD70.idf from Emiliano Grilli (rj)
-09.2
-      * fixed bug with sending start play w/ midi-clock (rj)
-01.20
-      * Added RT support and better working timing to DummyAudio backend (rj)
-      * New version of MC505.idf from Wim VW (rj)
-01.18
-      * Added script to convert MusE 0.6 songs to 0.7 format (rj)
-01.17
-      * Midi clock sync first test, unstable (ml)
-01.14
-      * patch from Erwin Scheuch-Heilig to allow for libtool >= 1.4 (ws)
-01.10
-      ========================================
-            * 0.7.1 tagged ! (rj)
-      ========================================
-      * ZynAdd instrument def file added (ml)
-      * Now the length is updated when importing a midi file to a project,
-        fixes bug: 1056994 (rj)
-      * Disabled freewheeling for bounce functions (song.cpp:_bounce) (rj)
-01.09
-     * Fixed bug: 1094622, MidiTransform now uses new controller types (ml)
-     * Fixed bug with custom plugin guis that caused them to be
-       uninitialized (rj)
-     * fixed just introduced jack graphChanged problem (rj)
-     * Fixed a crash issue with Thread class (only did happen when you mess around) (rj)
-     * Synti tracks don't crash when being renamed (rj)
-01.04
-     * Fixed a crash problem when using several fluidsynths (rj)
-     * Now fluidsynth restores most memory upon deletion
-       (but not all it seems) (rj)
-     * fluid disabled when fluidsynth disabled (we should probably
-       disable it all together) (rj)
-     * Fixed mixdown clash with auto-rec enable (rj)
-     * Fixed crash / hang when closing connected jack apps (rj)
-2005.01.02
-      ========================================
-            * 0.7.1pre3 tagged ! (rj)
-      ========================================
-
-31.12
-      * Mastertrack list editor updates (add sigevent + misc) (ml)
-30.12
-      * Insertion of tempo events in list mastereditor added (ml)
-29.12
-      * Added support for changing time signature in list master editor (ml)
-27.12
-      * Added support for changing tempo + position of tempoevents in list mastereditor (ml)
-      * Backported auto rec-enable from HEAD branch (rj)
-      * Added visual feedback of marker addition in ruler as well as
-        possibility to remove markers with shift+rmb (rj)
-      * Made it easier to resize the last track (bug: 1041798) (rj)
-      * Fixed bug: 966005, new projects are now called "untitled" (rj)
-      * fixed bug: 1085791, no more crashes with delete + drag (rj)
-26.12
-      * Listedit bugfixes. Consideration of part offset used for events (ml)
-20.12
-      * Fix for bug #1085796 (when renaming channel by doubleclicking it
-        in tracklist and a part is selected, pressing return opens editor for part) (ml)
-17.12
-      * -a (No Audio) flag added, improved Dummy audio backend (rj)
-      * alsa timer bugfix (rj)
-      * added deicsonze patch from Alex Marandon to fix QT<->STL
-        problems on affected platforms (rj)
-
-14.12
-      * Disable of fluidsynth works (rj)
-      * Added test for libsamplerate (rj)
-      * Reenabled --enable-suid-install (rj)
-      * Added <iostream> to simpledrums.h (rj)
-      * Added -no-rtti to simpledrums (ml)
-
-13.12
-      ========================================
-      * 0.7.1pre2 tagged ! (rj)
-      ========================================
-      * SimpleDrums 0.2 softsynth added (ml)
-12.12
-      * Removed -no-rtti from configuration (rj)
-      * Extern sync (codename: it_works_for_me__sometimes) is back! (rj)
-      * Changes to midi-input, events to softsynths vanished (rj)
-      * bounce to file now limits output to +/- 0.99 (rj)
-      * crash bug on missing event in sig.cpp fixed (rj)
-      * Changed default timer resolution to 1024 (rj)
-      * Applied fix from Levi D. Burton to allow midi thread to run
-        realtime allthough Jack is not (rj)
-      * New version (0.22) of DeicsOnze from Alin Weiller (rj)
-
-9.12
-      * Now autogen.sh requires libtool = 1.4, 1.5 does not generate
-        softsynths correctly (rj)
-4.12
-      * Added another IDF from Christoph Eckert for Alesis QSR,QS7 and QS8 (rj)
-01.12
-      * fixed import of type 0 midi files (ws)
-      * Added updated DeicsOnze (0.21) from Alin Weiller (rj)
-      * added a branch of new icons, changed default colors of
-        wav/audio output track in arranger (js)
-      * changed changelog (js)
-30.11
-      * Added IDF files from Christof Eckert for Access Virus,
-        Hammond XB and Waldorf Microwave (rj)
-      * backported fix from 0.8 so listing patches for synths
-        works again (rj)
-29.11
-      * fix midi import: tick values of tempo/signature
-        and marker events are now properly converted to internal
-        resolution (backport from 0.8) (ws)
-      * some make system changes to better handle precompiled headers (ws)
-      ========================================
-      * 0.7.1pre1 tagged ! (rj)
-      ========================================
-      * LADCCA was incorrectly disabled in config, now fixed (rj)
-      * Changed URL of homepage to www.muse-sequencer.org (rj)
-28.11
-      * Partial support for "input only" midi devices. (rj)
-
-27.11
-      * Added Alsa Timer as a new timing device, RTC is still
-        available, though not easily selectable yet. (rj)
-      * Made some changes to how threads are created, for systems
-        where thread creation has been erratic, linux2.6 in various
-        configurations. Not yet verified if it makes any differance. (rj)
-08.11
-      * Backported audio metronome (rj)
-      * Backported open/save dialog improvements (rj)
-      * Added -r parameter to allow MusE to start without RTC
-        not the right thing to do, but it seems necessary on PPC,
-        it's a start. (rj)
-      * Added patch from CK to allow getopt to work on PPC (rj)
-
-02.11
-      * Added icon stuff to tlist.cpp (js)
-01.11
-      * Added Alin Weiller's DeicsOnze synthesizer (ws)
-      * add dummy call to process() in Audio::start() to warm up caches
-        to avoid "JACK - zombified" during startup (ws)
-23.08
-      * fix crash in list editor - create new controller (ws)
-      * increase required JACK version to 0.98.0 (ws)
-20.07
-      * updated muse/muse.pro and share/locale files (ws)
-18.07
-      ========================================
-      * 0.7.0 tagged ! (rj)
-      ========================================
-      * output fifo warning only if cmd line "-D" switch is set (ws)
-17.07
-      * fixed separate handling of recorded events vs played events (ml)
-15.07.
-      * do not start the disk helper thread in realtime mode (ws)
-      * check for JACK thread really running in SCHED_FIFO mode, if not
-        (as on my system with kernel 2.6.7 and nptl) try to set it. (ws)
-      * removed some exit() and abort() calls to react somewhat more gracefully to
-        to internal errors (ws)
-14.07.
-      * fixed -V (no vst instruments) option (ws)
-      * do not save midi controller information in ~/.MusE file  (ws)
-      * another try to fix midi loop handling: Loop len now should be
-        sample accurat. The loop is shifted left at most one audio
-        cycle to meet the requirement of loop end matching audio cycle
-        end. When JACK transport is in "JackTransportStarting" mode,
-        MusE internally continues rolling, so there are no repeated
-        cycles anymore (ws)
-      * Added message boxes when alsa and jack fails to initialize (rj)
-      * Disabled solobuttons in mixer (rj)
-13.07.
-      * added new icons for the mixer solo/mute (js)
-      * added refresh for the solo/mute icons (rj)
-      * added icons for drum-/listeditor in the arranger on rightclick (js)
-12.07.
-      * fixed typo in loop handling (ws)
-      * added patch from Daniel Schmidt to be able to configure
-        MusE without X being available (rj)
-      * Removed geometry data etc from templates (rj)
-11.07.
-      * disabled midi mtc sync as its not implemented; disabled
-        midi sync slave modes as they are currently not working (ws)
-      * enabled sending midi clock (ws)
-28.06.
-      * splitted removeTrack()/insertTrack() into three phases: pre realtime
-        actions - realtime actions - post realtime actions; this allows
-        to move memory allocations out of realtime task (ws)
-      * changed undo/redo of tracks: synti instances are now really deleted on
-        delete track (ws)
-      * jack connection changes with qjackctrl are now recognized by MusE (ws)
-27.06.
-      * applied patch from John Check to add a panic button to pianoroll
-        editor (ws)
-28.06.
-      ========================================
-      * 0.7.0pre4 tagged - one more (rj)
-      ========================================
-26.06.
-      * Some packaging additions, icon, spec files.
-        (only mdk at the moment) (rj)
-25.06.
-      * fixed midi timing bug (ws)
-19.06.
-      * don't catch SIGCHLD, this interferes with vstInit() (ws)
-      * "givertcap" was not found when not in current directory (ws)
-      * impl. "all notes off" for organ synti (ws)
-18.06.
-      * disabled buttons for not implemented functions (ws)
-      * added muse/wave/solo button in the trackinfo ;-) (js)
-15.06.
-      * enabled some midi sync code (ws)
-14.09.
-      * dialogs for change of drummap when converting miditrack to drumtrack
-        or changing port. redirection of keyevents from tlist to canvas (ml)
-13.09.
-      * save/restore parameter for VST synthesizer (ws)
-      * automatic trackchange in tracklist when selecting parts in arranger (ml)
-      * added modify velocity to drumeditor + bugfix for modify velocity (ml)
-      * save/restore parameter for VST synthesizer (ws)
-12.09.
-      * fixed backup command when filename contains spaces (ws)
-      * fixed midi step recording (ws)
-      * fixed bug in arranger: pressing enter after renaming part started
-        editor (ws)
-09.06.
-      * added support for VST/windows software synthesizer (ws)
-      * delayed loading for software synthesizer: syntis are loaded, when
-        they are instantiated the first time (ws)
-08.06.
-      * fixed --enable-rtcap configuration option (ws)
-07.06.
-      * increased "dimension" in memory.h to make MusE work on 64 bit
-        architectures as requested from Simone Piunno (ws)
-      * added aux send for syntis (ws)
-      * added info box which explains why when MusE gets kicked by Jack (rj)
-06.06
-      * added instrument definition for roland MC-505 from Wim VW (ws)
-05.06
-      * Added backup creating save patch from Levi D.Burton (rj)
-01.06
-      * transpose + grid patch added (alin weiller)
-      * fixed moving events in drum editor (ws)
-      * added new config option: disable splash screen (ws)
-31.05
-      * fixed crash in pianoroll when using shortcuts for selecting
-        quant values when quant was set to 1 (no quant) (ws)
-      * fixed a crash when moving an event to tick positions < 0 (ws)
-      * fixed: selecting a note in pianoroll editor and changing a value
-        with note-info toolbar crashed MusE (ws)
-      * bugfix arranger: fix for selecting part -> ignore global accelerators (ml)
-      * bugfix for arranger selection of part above/below when using keyboard (ml)
-      * added pianoroll velocity variation patch (alin weiller)
-30.05
-      * hopefully a fix for drum in & outmap-issues in midi.cpp (ml)
-25.05.
-      * shortcuts for "arrowing around" in arranger added (ml)
-      * 0.7.0pre3 tagged - the last!!! I hope (rj)
-24.05.
-      * fixed a crash on new -> load template (ws)
-      * FluidSynth: added support for drumpatches (equiv to midichan 10 patches) (ml)
-23.05.
-      * exit if rtc open() fails (ws)
-      * changed default start behaviour to open default.med template (rj)
-18.05.
-      * added many new/redone icons (js)
-      * changed aboutbox.ui for qt 3.2 compatibility
-      * changed app.cpp (added the icons)
-17.07.
-      * added stereo/mono icons to mixer (ws)
-      * added a first version of an icon for muse and adapted aboutbox to the same.
-        (graphics by Joachim Schiele) (rj)
-      * Improved handling of browser for help system (rj)
-16.07.
-      * Added FluidSynth fix for ignoring preset selection of soundfonts that don't exist (ml)
-      * fix midi import of pitch bend events (ws)
-      * fix pitch bend handling (ws)
-      * enlarge PitchLabel width so that 14 bit controller values can be
-        displayed without clipping (ws)
-15.07.
-      * removed some debug messages  (ws)
-12.07.
-      * show one more measure in pianoroll and drum editor (ws)
-      * renamed controller name "Hold1" to "Sustain" in *idf files (ws)
-11.07.
-      * New try at fixing help browser on all systems (rj)
-10.07.
-      * updated muse.pro and translation sources (share/locacle/*.ts) (ws)
-      * list editor: implemented input mode for program change messages (ws)
-09.07.
-      * fixed "edit - delete track" hangs MusE - bug (ws)
-07.07.
-      * fixed routing for stereo LADSPA plugins used in mono strips (ws)
-      * midi import: first resolve note on/of then transform ticks to internal
-        resolution (ws)
-06.06.
-      * set global automation default to "true", set midi track automation to
-        "read" (ws)
-      * enable auxSend chorusSend and reverbSend in midi mixer strip if
-        corresponding controllers are added (ws)
-      * init automationType for midi tracks (ws)
-      * fixed gm.idf instrument definition file (ws)
-      * implemented "Add New Controller" in list editor / edit controller (ws)
-      * save current midi controller values in *.med file (ws)
-05.05.
-      * updated roland-XP30.idf instrument definition (Sverre H. Huseby)
-04.05.
-      * 0.7.0pre2 tagged (rj)
-03.05.
-      * fixed a cut/glue bug probably introduced at 24.04 (ws)
-      * fixed compilation of musewidgetsplugin.so (ws)
-      * changed splash screen handling, used QTimer instead of background thread (ws)
-02.05.
-      * Added first version of splash screen (rj)
-01.05.
-      * Updated LADCCA support to (almost) usable condition (rj)
-30.04.
-      * Added zoom scaling in drum editor, same as piano roll (rj)
-29.04.
-      * Disabled Random Rhythm Generator (rj)
-      * Took a stab at fixing up shortcuts (rj)
-      * Fixed crash bug when clicking Channel Info and there was no info (rj)
-28.04.
-      * Added single key shortcuts for edit tools (rj)
-      * added shortcut for Marker editor (rj)
-      * and fixed some shortcut inconsistencies (rj)
-27.04.
-      * update marker list on tempo change (ws)
-      * allow adding markers from the ruler with shift-click (rj)
-26.04.
-      * added missing header file(s) (ws)
-25.04.
-      * fixed aux processing: stereo -> mono aux (ws)
-      * metronom now sends proper note off events (ws)
-24.04.
-      * deactivated clip list editor. (ws)
-      * after loading of template, treat current project as "untitled" (ws)
-      * removed data structure "Clip". All information are now in WaveEvent;
-        this simplifies the structure a lot and makes reference counting more
-        reliable. Unfortunatly this also means a new incompatible *.med file
-        version. (ws)
-      * changed reference counting of Event class; simplified and more reliable (ws)
-21.04.
-      * fixed some synchronisation issues between mixer and trackinfo window (ws)
-      * fix update of mixer after removal of aux strip (ws)
-20.04.
-      * Added shortcuts to bug reporting tool, homepage,
-        and updated AboutBox (rj)
-19.04.
-      * fixed QT version check in m4/qt.m4 (ws)
-18.04.
-      * add samplerate initialization to fluidsynth (ws)
-      * compilation fix: added missing include in fluid.cpp (ws)
-17.04.
-      * File->New crashed when current project had selected audio track (ws)
-
-15.04.
-      * 0.7.0pre1 * tagged for prerelease (rj)
-      * arranger: fast repeated pastes now works more reliable (no more stacked
-        parts) (ws)
-      * Thread(): crashed, when poll() returned more than one ready file descriptor
-        and the corresponding callback routine manipulates the list
-        of file descriptors. This happened timing dependend and only in real time
-        mode. (ws)
-      * fixed Fifo() get() (ws)
-      * small extension in soft synth interface (Mess()): added return values
-        for processEvent()
-14.4.
-      * fixed pan range for midi mixer strips
-      * renaming soft synth instances + save/restore should now work
-      * fixed fluid "gui"
-      * changed CTRL_VAL_UNKNONW as it conflicts with valid
-        values for CTRL_PROGRAM (ws)
-13.4.
-      * dont crash on missing LADSPA plugin (ws)
-      * set metronome precount default to "false". Precount is not
-        implemented. (ws)
-      * fixed crash when toggling stereo or pre buttons in mixer (ws)
-      * synchronize channel number in mixer/arranger-tracklist (ws)
-      * changed all float printf("%f") to equivalent qt-string
-        routines; dont localize decimal point so that the
-        strings can be properly parsed; this should fix some
-        save/restore problems in localized MusE versions (ws)
-12.4
-      - arranger/portinfo: fix update of instrument names (ws)
-      - fluid synth: enable drumsets (ws)
-      - fixed crash on inserting meta/ctrl/aftertouch in list
-        editor (ws)
-      - fixed crash in arranger when moving mouse+Alt after
-        removing a track (ws)
-11.4  - fixed initialization of Pan after load of new song (ws)
-      - fixed graphical master track editor (ws)
-      - fixed Qt-Version check (ws)
-      - small qt3.2 compatibility changes (string->toInt() conversion) (ws)
-10.4  - made plugin selector remember the previous selection type (rj)
-4.4   - drag & drop import of wave files (rj)
-      - drag & drop import of mid files (rj)
-3.4   - reactivated vam synthesizer
-      - fixed initialization bug in s1 synthesizer demo code (ws)
-      - added another vertical line in drum editor
-2.4   - integrated new icons (ws)
-      - increased required QT-Version to 3.2 in configure.ac (ws)
-1.4   - added vertikal line in track list as suggested by Joachim Schiele
-      - fixed synchronisation issue between mixer and tracklist (changing midi channel can
-        add/remove mixer strip) (ws)
-      - Changed pan range to -1 +1 (rj)
-      - added new icons from Joachim Schiele (not integrated) (ws)
-      - Support for showing only selected plugins in plugin dialog (rj)
-31.3  - Added various compile fixes needed by debian (rj)
-29.3  - Updated mc303 instrument file from Conrad Berh�ster (rj)
-25.3  - bugfix for pos increase/decrease shortcut (ml)
-24.3  - bugfix for mtscale redraw area when window is scrolled left
-      - bugfix for arranger shortcuts (ml)
-23.3  - added position seek to drumeditor + arranger.
-      - increase/decrease pitch of selected notes in drumeditor with ctrl+up/down
-      - added quantize shortcut keys (1-8) in drumeditor (ml)
-21.3  - added shortcut for pitch increase and decrease of sel notes, in pianoroll (Ctrl+Up/Down)
-      - moved shortcut handling for pianoroll + drumeditor to EventCanvas
-      - leftmost note selected when opening proll/drumeditor (ml)
-16.3  - added shortcut for iterative quantize in p-roll. added shortcuts for
-        selection of notes in p-roll and drumeditor: left/right arrows moves
-        selection, holding down shift adds to current selection (ml)
-      - bugfix, moved blocking of signals on startup to exclude loading of project since
-        a bunch of widgets didn't get updated (ml)
-12.3  - bugfix for menu initialization of "add track"-menu shortcuts (ml)
-      - added some regular 7-bit controllers to Fluidsynth (ml)
-6.3   - Fluidsynti chorus operational again, controlled by NRPNs and
-        automatic gui-update here too. (ml)
-      - Fluidsynti reverb restored. Reverb is now controlled by NRPNs.
-        Automatic updates of gui when controller-changes occur. Unloading
-        of soundfonts restored. (ml)
-4.3   - Fluidsynti playback restored. Gain restored. (ml)
-3.3   - Fluidsynti major rewrite, not fully functioning though (ml)
-      - fixed crash on reload song with open mixer
-      - fixed crash on saving *.med: dont save aux values for channels
-        which have no aux send (like aux strips)
-      - remove empty record wav files on MusE exit
-      - fixed crash on undo controller editing (ws)
-28.2  - more icons from Joachim Schiele (ws)
-      - fixed crash with mouse wheel events in arranger track list
-      - fixed some routing related crashes
-25.2  - show mixer strip in trackinfo window for audio tracks (ws)
-24.2  - compatibility patch to read midi tracks from old 1.0 *.med
-        files (ws)
-      - implemented quick input routing from jack (ws)
-      - added some new icons form Joachim Schiele (ws)
-23.2  - implemented quick output routing to jack; some routing
-        fixes (ws)
-22.2  - added instrument map for yamaha PSR 530 keyboard from
-        Lalit Chhabra (ml)
-      - misc compilation fixes from Joost Yervante (ws)
-21.2  - added drum map for Yamaha DX200 from Joost Yervante Damad (ws)
-      - "quick routing" buttons in mixer (ws)
-17.2  - install musewidgetsplugin.so in PREFIX/lib/muse/qtplugins/designer
-        and add this path to qt library path in application (ws)
-16.2  - trackinfo geometry management changes (ws)
-14.2  - added volume controller to organ, so that the organ
-        synthesizer volume can be controlled in the mixer midi strip (ws)
-13.2
-      - optimized "organ" software synthesizer: precomputed frequency
-        tables, integer envelope generator based on bresenham algorithm;
-        added "velocity" switch; (ws)
-      - changed VAM synthesizer for new interface (ws)
-
-12.2  - controller movements in software synthesizer gui's are now
-        send as midi events to MusE and can be recorded/replayed/edited
-        (currently only working for "organ" synti) (ws)
-      - changed software synth interface (again) (ws)
-
-11.2 - expanded trackInfo by default (rj)
-     - added some graphics to trackInfo :) (rj)
-     - changed "White" to "Default" (still white though) (rj)
-     - fixed trackInfo updating for tracks without their own trackInfo (rj)
-     - added lousy fix to update trackInfo when a track is deleted.
-       it's lousy because it's updating the trackInfo even though the
-       removed track wasn't highlighted, can place you in a tight spot
-       at times. I added it anyway because it removes a crash problem.
-       a better fix would be preferable. (rj)
-     - fixed mouse wheel functionality on knobs and sliders in mixer. (rj)
-
-8.2  - propagate track name changes to mixer (ws)
-     - enforce unique track name when user renames tracks (ws)
-     - implement one to many audio routing (ws)
-     - fixed bug in route dialog refresh after inserting new strip (ws)
-     - fixed aux send volume (ws)
-
-4.2  - added missing activate() to LADSPA plugin initialisation.
-      This fixes crashes with some plugins (plugins who use activate()
-      to allocate memory) (ws)
-      -fixed user definable LADSPA guis using QT-designer; added another
-       example *.ui file for "Toms'Audio Plugins" TAP-Reverberator (ws)
-1.2
-      - logarithmic values were initially wrong for spin boxes in
-        LADSPA guis (ws)
-      - On-the-fly-change of shortcuts in Listeditor, Drumeditor. Added selection
-      shortcuts to Drumeditor (ML)
-      - Added on-the-fly-change for shortcuts in pianoroll (connected to
-      configChanged-signal) (ML)
-
-30.1  save geometry of LADSPA plugin guis;
-      fixed missing mixer refresh after adding an auxSend strip (ws)
-29.1  mixer strip automation types OFF, READ, WRITE and TOUCH
-      implemented; automated controller so far: volume, pan (ws)
-27.1  more code for automation;
-      better reference counting for audio Clip; Clips with zero
-      reference are not saved in *.med file anymore (ws)
-26.1  - removed obsolete driver/midirawin* (ws)
-25.1  - removed obsolete raw midi devices & serial midi; all devices
-        are now handled by ALSA (ws)
-24.1  - changed "Configure" to "Settings"; changed "Display" to "View"
-        for better standard compliance (ws)
-23.1  - enabled controller editing in midi list editor (ws)
-19.1  - added new dir/lib libsynti to collect common code
-        for all software synthesizer (ws)
-18.1  - ported VAM software synthesizer to new MESS interface
-        (not complete) (ws)
-      - events send from synth gui are not echoed back anymore
-17.1  - drumedit: changed "keyFilter" to "drumInstrument"; use
-        it to handle drum instrument specific NRPN controllers (as defined
-        in XG standard (ws)
-      - move drum instrument select status from drumMap to drum editor.
-        This allows for independent selections in different drum
-        editors. (ws)
-      - extend midi controller definitions in *.idf files for
-        drum instrument specific NRPN controllers (controller number
-        contains pitch value) (ws)
-
-16.1  - Added small fix to editctrlbase.ui to make it compile (RJ)
-      - Updated various revision info in README (RJ)
-
-15.1  - Corrected appearance of buttons in Metronome window (FN)
-
-9.1
-      - "record" button in midi ChannelInfo; pressing this button
-        inserts changes in hbank/lbank/program/pan/volume as
-        controller events into song
-      - pianoroll editor: new "multi select mode": If more than one
-        event is selected, the event info spinboxes are set to zero.
-        Entered Values are interpreted as offsets and added to all
-        selected events.
-      - some fixes and performance enhancements to "MidiTransformator" (ws)
-      - fixed saving of drum tracks (ws)
-8.1
-      - changed arranger shortcuts + shortcut-configurator to use configChanged; all arranger menu shortcuts
-      redefinable on-the-fly. most menu options configurable (ML)
-      - now possible to toggle mixer window (ML)
-      - changed Ctrl+A in arranger to be used for select all instead of "Save As" for the sake of uniformity (ML)
-5.1
-      - new config (Config->GlobalSettings) option:
-            - start with empty song
-            - start with last song
-            - start with configured init song
-2.1
-      - smf type 0 export (ws)
-31.12
-      - midi export; fixes to midi controller handling (ws)
-30.12
-         - added dynamic shortcuts for all menu options in the arranger (will hopefully
-         work fine when config is loaded before menus are built) (ML)
-         - added check and prevention of conflicting shortcut sequences inside
-         respective categories, global shortcuts and misc "reserved"
-         shortcuts (ML)
-         - capture dialog grabs/releases keyboard (ML)
-26.12
-      - faster update of mixer (ws)
-22.12
-      - added dummy audio driver; this permits running MusE
-        without suid root and without RT priority when started
-        with "-d" option; this is for debugging & to get
-        normal core dumps (ws)
-20.12
-      - Reverb + chorus grayout-problem in fluidsynthgui removed. Some QT-designer files changed to 3.2 (ML)
-      - More shortcut updates: Added a dialog for capturing shortcuts (ML)
-18.12 (ws)
-      - "declicked" s1 demo synthesizer
-      - make organ controller values persistent
-      - fixed integer overflow in organ synti controller values
-17.12 (ws)
-      - new: mouse wheel events for track list values
-      - track colors in tracklist configurable in "appearance settings"
-      - more configuration options in "appearance settings"
-        part colors are now configurable
-      - ~/.MusE now contains only configuration data; this
-        settings are not replicated in *.med files any more
-10.12
-      - more shortcut stuff in the dummy shortcut config window (ML)
-      - new "load song" option: load all/load song data only (omit config data) (ws)
-      - new "File" function: load template; this function initializes current
-            song with another song (template)
-      - new option while importing a midi file: replace/add to project
-9.12
-      - More shurtcut stuff + dummy config dialog (ML)
-2.12
-      - Bugfixes in pianoroll for insert at current location and seek before
-        beginning of song (ML)
-      - fixed crash on "New" or loading new project
-(ws)  - "bounce to track" now works "faster than realtime" with JACK
-        freewheel mode (JACK 0.91.0 cvs required)
-      - mixer automation for gain & pan; some basic functions
-      - preparation for adding imported midifile to current project
-1.12
-      - More shortcut preparations (ML)
-27.11
-      - Added mouse wheel handling for knobs and sliders
-        shift modifier available for extreme slow motion. (RJ)
-25.11
-      - drummapping for recorded events (not heard on record playback echo yet) (ML)
-      - misc updates& fixes for track handling (ws)
-      - removed activity column in tracklist; will be replaced by
-        mixer meter display (ws)
-      - midi record flag can be set again, enabling midi recording
-24.11
-      - Added first steps for uniform handling of shortcuts (ML)
-23.11
-      - some mixer updates(ws)
-22.11
-      - fixed software synth handling; looping is only possible
-        on segment boundaries (ws)
-20.11
-      - Bugfix for drummaps and keyfilter in drumeditor (ML)
-      - apply drum map when importing midi (ws)
-      - retain track ordering across save/load (ws)
-      - wave files in the project directory are stored with
-        relative path, all others now with absolute path (ws)
-16.11
-      - Map outputted drumnotes according to drumMap index (Mathias Lundgren)
-
-14.11.  (ws)
-      - JACK transport interface implemented
-      - finally removed ALSA driver; JACK now required;
-      - default to RT-mode on start (-R option is removed); -d (debug)
-        starts without RT
-
-12.11.  (ws):
-        - removed midi mixer; first code to integrate midi mixer
-          into audio mixer; mixer moved to pulldown menu "Display"
-        - mixer strips are handled like tracks in arranger (prepare
-          for automation)
-        - track type cannot changed anymore in arranger track list;
-          also removed double click creation of tracks which makes
-          no sense anymore
-        - integrated "atomic" patches from Daniel Kobras
-09.11.  - audio routing fixes; mono/stereo switching for input/output
-          strips should now work; audio recording to tracks (ws)
-08.11.  - aux send audio mixer strips (ws)
-        - Arrowing up and down update in arranger (Mathias Lundgren)
-07.11.  - Fluidsynth compile problem w. Debian/qt/stl/gcc fixed (Mathias Lundgren)
-        - "Double undo"-bug fixed in Pianoroll (Mathias Lundgren)
-04.11.  - many changes to audio mixer and audio routing; implement
-          framework for new audio features (ws)
-31.10.
-      - museProject set correctly when loading song on startup (RJ)
-      - save dialog added when adding first wave track (RJ)
-      - load/save of wave files handled with relative paths (to project) (RJ)
-      - Updated swedish translation (Robert Jonsson)
-      - Merged softsynth and midiconfig dialogs as in old tree(Robert Jonsson)
-      - Some museProject issues(Robert Jonsson)
-      - updated new midi controller implementation (ws)
-
-29.10. (ws)
-      - update soft synthesizer organ/fluid/fluidsynth; extent MESS
-        interface
-      - update from 0.6.2 (Mathias Lundgren):
-         - Various drumeditor-related updates including: Horizontal splitter
-           offset stored. Fixed length command added (Alt+L). Bugfix for selection
-           of events inside/outside locators. Initialization of drummap doesn't overwrite
-           entries loaded from project file.
-         - Alt+P sets locators to selected notes in PianoRoll and DrumEditor
-         - CTRL+Leftclick on an item in the Arranger, PianoRoll or DrumEditor selects all
-           parts/notes on the same track/same pitch
-         - Pressing Enter in the Arranger now opens the appropriate editor for the
-           part (Mathias Lundgren)
-         - The midithread now maps keys on a drumtrack according to the drummap.
-         - Cursor up/down (Mathias Lundgren)
-         - currently selected drum (Mathias Lundgren)
-      - fixed compilation error in givertcap.c (andrew)
-      - removed iiwu soft synth temporarily from compilation until
-        ported to new "mess" interface
-      - added missing file ltmain.sh
-      - create new cvs at sourceforge.net
--------------
-      - removed obsolete score editor
-      - changed midi controller handling
-      - new process structure
-      - redesign of "mess" software synthesizer; removed alsa
-      - new midifile import/export
-      - fork from cvs; new file structure
-0.6.2(omuse):
-      - added first version of (incomplete) french translation from
-      - removed stk based soft synthesizer + share/rawwaves
-      - removed sound font
-      - fixed bug in midi recording when recording starts with a note off;
-        also the recorded part len was miscomputed when the recording ends with
-        a pressed key (missing note off event)
-      - added new allocator for SEventList and MPEventList (memory.cpp, memory.h)
-        to make sure the midi RT-thread does not call malloc/new/free/delete
-      - added misc build patches from Daniel Kobras
-      - make selection of alsa audio device an command line argument
-        (-A xxx   default: hw:0)
-      - fixed "edit->select->allInLoop"
-      - fixed track height after renaming track
-0.6.1:
-      - fixed "Cakewalk Style" display in arranger
-      - added russian translation from Alexandre Prokoudinek
-      - arranger: tracks are now independent vertical resizable
-      - arranger: implement part rename from popup menu
-      - arranger: show part name in parts in addition to events
-      - audio mixer: interpret min slider position as "off"
-      - audio mixer: added value entry for pan (Robert Jonsson)
-      - audio: some routing fixes
-      - audio mixer: enable data entry for slider label
-      - ladspa plugin gui: replaced value label with data entry
-        to allow numerical entry of parameter values
-      - pianoroll: added undo/redo to edit menu + accel. keys
-      - ctrl editor: implemented changing (painting) of pitch
-        events
-      - added macros for big endian machines in midi.h
-      - added spain translation (Albert Gonzales)
-0.6.0:
-      - added swedish translations (Robert Jonsson)
-      - fixed editing of pitch events in list editor
-      - fixed crash in score editor
-      - check tempo entry values; dont allow invalid values which could
-        crash MusE
-      - fixed not functioning "Abort" button in MidiTransform dialog
-      - fixed Ctrl-editing in drum editor
-      - fixed "Group" audio routing
-      - fixed editing of pitch values in parts not beginning at tick zero
-      - fixed "unexpected EOF" after dragging of events in midieditor
-      - fixed cut&paste in midieditor
-      - implemented deleting multiple selected parts in arranger with Del key
-      - fixed audio pan pots in mono->stereo conversion
-      - changed iiwu to fluidsynth (thanks to Helio Chissini de Castro)
-      - new popupmenu: click with right button in empty tracklist
-      - LADSPA plugin guis are generated at runtime from qt-designer *.ui
-        (xml-)files; testfile is "freeverb.ui" for freeverb plugin;
-      - added "Slider"+"DoubleLabel" to musewidgetsplugin to make widgets
-        available in QT-Designer
-      - renamed poseditplugin.so to musewidgetsplugin.so
-      - fixed midi ctrl editor
-      - sparate sync device into txSyncDevice and rxSyncDevice. RxSyncDevice
-        can be configured to "all".
-      - use <asm/atomic.h> macros for atomically inc/dec count in lockfree
-        Fifo implementation
-0.6.0pre8:
-      - prepared for internationalization:
-        - created muse.pro
-        - removed all implicit type conversions char* -> QString
-        - added several missing translations  tr()
-      - Part text is now colored depending on background (FN)
-      - fixed "bounce to file" fifo handling
-      - disable transport buttons in slave mode
-      - calculate correct size for new part after midi recording
-      - fixed crash when reloading song while audio mixer is open
-      - implemented "bypass" function for LADSPA plugin gui's
-      - changed obsolete qt header file names
-      - implemented external midi instrument definition files (*.idf)
-        (examples are in */share/muse/instruments)
-      - implemented moving plugins up/down in effect rack
-      - fixed: renaming wave track switched track to mono
-      - implemented LADSPA "LOGARYTHMIC" and "INT" hints
-      - disable record button for tracks with no input routed to
-      - implemented LADSPA "TOGGLED" port as QCheckBox in plugin gui
-      - changed algorithm for zeroing denormalized floats in freeverb
-        plugin; now it works again for gcc3.x and optimization flags
-        turned on
-0.6.0pre7:
-      - prevent creation of empty wave files when switching the
-        record button in audio mixer on/off; wave files are only
-        preserved when you actually record something into it
-      - made plugin guis persistent
-      - fixed scissor operation on wave parts
-      - added missing code for "bounce to file"
-      - fixed "bounce to track"
-      - removed/changed obsolete qt code
-      - update for current iiwu cvs
-      - fixed initialisation bug in wave editor
-      - dont link iiwu libs static
-      - (bh) added ladcca support
-      - fixed midifile export
-      - arranger, pianoroll editor, drum editor: tool popup menu
-        with right mouse button click
-      - update iiwu to current cvs version
-      - implement trackinfo patch names for iiwu
-      - fixed "appearance settings"
-      - added keyboard shortcut "Del" to delete events in pianoroll
-        and drum editor
-      - "Asterisk" key in keypad now toggles record mode
-0.6.0pre6:
-      - fixed len of new created event in pianoroll editor
-      - extend font selection in "apearance settings"
-      - Added shortcuts for "Select All", "Unselect All" and "Invert
-        Selection" in PianoRoll editor (FN)
-      - Fixed Event coloring and shortcut ("e") key (FN)
-0.6.0pre5:
-      - fixed midi seek & tempo map
-      - implemented global tempo change
-0.6.0pre4:
-      - fixed tempo handling
-      - pianoroll editor/drum editor: fixed changing of note position
-      - transport: some geometry/font changes; time signature can now
-        be changed by mouse wheel
-      - fixed glue/scissor tool
-      - catch sigchld signal again so we know when a softsynth gui exits
-
-0.6.0pre3
-      - fixed drawing of drum parts in drum editor
-      - on reading *.med files reject events which dont't fit into part (more robust
-        handling of defective med files)
-      - remove also synth gui when removing synth
-      - implemented some of Frank Neumann's usability suggestions:
-            - a "Copy Part" sets the current location marker after the marked part
-            - "Del" removes part if a part is selected instead of whole track
-            - new Keyboard Accelerator "C" toggles metronome click
-            - removed channel info for selected notes in pianoroll editor and
-              drum editor
-            - navigate between parts with left/right buttons in arranger window
-      - implemented changing note position for selected note in "note info" toolbar
-      - fixed: changing "loop" flag in transport window does not change "loop" flag in
-        other windows
-      - call pcm_wait() in alsa driver with sane values
-      - fixed: after load song seq did not run with rtc
-      - filenames for audio recording to tracks are now generated
-        automatically; every recording goes into separate file
-      - (bh) updated build system to use automake 1.7
-      - fixe Midi->DefineController "Cancel"
-      - new function: Midi->DefineController load+replace and load+merge
-      - fixed MFile write: close() was missing; this fixes a.o. saving of
-        midi controller sets
-      - make organ synth aware of project directory for saving presets
-      - fixed load/restore presets for LADSPA plugins
-      - changed organ default values for envelope generator
-      - more fixes for alsa driver (less xrun errors)
-      - lokal allokator for soft syth midi events implemented
-      - enable sample rates != 44100 for iiwu (JACK has 48000 default)
-      - cleanup soft synth instantiation: call alsaScanMidiPorts only one time
-      - small audio buffer handling optimizations
-      - some thread cleanups
-      - fixed audio mixer geometry handling
-      - another fix for RT thread handling in iiwu
-      - fixed recording of pitch events (not tested)
-      - load iiwu sound fonts in a background helper thread to
-        avoid being thrown out by JACK
-      - fixed RT thread handling; now muse+iiwu+jack works
-      - honour LADSPA default hints for controller ports
-      - removed some restrictions for LADSPA plugins
-      - fixed tempo entry in transport window
-      - added high priority watchdog process to avoid system freezes
-      - updated "iiwu" synth to use peter hanappes libiiwusynth
-        iiwu now remembers last used sound font
-      - fixed cut&paste for midi parts
-      - fixed cut function for midi parts
-0.6.0pre2:
-      - audio mixer: reset meter on mute
-      - changed input routing to allow monitoring while recording
-      - removed superfluous second init() call for soft syntis
-      - fixes for mono/stereo conversion
-      - ensure all wave files are properly closed on exit
-      - fixed segfault on second cliplist open
-      - fixed wave part split function
-      - fixed ALSA/JACK configuration bug
-      - event time positions are again stored as absolute time positions
-        to enhance compatibility with older "*.med" files
-      - changed panic button: instead of sending lots of note off
-        events only "all sound off" controller events are send for all
-        ports/channels
-      - fixed error on importing midi files when there are more
-        than one track assigned to a midi channel
-      - found another memory corruption bug in sysex handling
-      - fixed precount in metronome
-      - space key again stops play/record
-      - fixed stop/play in transport window
-      - prohibit change of mono/stereo for input strip
-      - convert mono/stereo on the fly for wave parts
-      - fixed crash when pressing play in empty song
-      - audio loop fixed
-      - _midiThruFlag not always initialized
-
-0.6.0pre1:
-      - attached midi mixer again
-      - fixed metronome: loop mode, measure/beat configurable
-      - moved part colorisation into part popup menu
-      - added global midi pitch shifter in addition to track pitch shift; this
-        allows for simple pitch transforming the whole song. Drum tracks are not
-        pitch shifted.
-      - fixed fatal error in soft synth handling resulting in sporadic
-        core dumps
-      - removed sf directory (sound file stuff) and replaced
-        it with the real thing: libsndfile 1.0.0
-      - removed bogus kde stuff: kde.h onlyqt.h desk.h
-      - JACK Audio support
-      - AUDIO & ALSA now required
-      - fixed memory corruption with sysex events
-      - simplified organ soft synth parameter handling
-      - removed illegal controller message optimizations
-      - implementation of "panic" button
-      - first instantiated synti did'nt show up in port list
-      - size of resized drum and pianoroll editor windows are now remembered
-      - fixed crash when configuring null audio device
-      - removing soft synth instance did not stop midi thread; alsa client
-        was not removed
-      - (bh) lots of buid system changes and general cleanups
-      - (bh) removed the use of the UICBASES make variable; .ui files can
-        now be added straight into _SOURCES make variables with the new
-        SUFFIXES support in automake 1.6
-      - (bh) upped minimum automake version to 1.6
-      - (bh) removed the use of the MOCBASES make variable; header files that
-        need to be run through moc are now detected automatically
-      - (bh) new iiwusynth softsynth
-      - (bh) removed support for oss and alsa 0.5
-      - clone parts implemented (also called "alias parts" or "ghost parts")
-        (dragging part with Alt-Key pressed in opposit to Shift Key which
-        produces a normal copy);
-        needed many internal changes; hope not to much is broken
-      - mastertrack: new spin widget for changing midi signature
-      - fixed midi thread initialization after loading new file
-      - stopped sequencer before loading new file; this should fix occational
-        core dumps on New/Load/ImportMidi
-      - some cleanups with file load/save operations
-      - Config->MidiPorts->otherRaw (device name pulldown): enabled OpenFile
-        Button for DevicePath field: At least current Qt can now handle devices.
-      - implemented:
-            - structure pulldown menu:
-              - global split
-              - global cut (mastertrack cut not implem.)
-              - global insert (without m.t.)
-      - implemented part mute
-      - added pitch transposition to pianoroll widget keyboard (Tim Westbrock)
-      - Save(As) behavior patch from Tim Westbrock
-0.5.3:
-      - updated stk library to version 4.0; adapted stk synthesizer
-      - added SECURITY advice from J�n Nettingsmeier
-      - several compilation & portability fixes from Takashi Iwai
-      - fixed keyboard entry in pianoroll editor
-      - midi now runs synchronous with audio
-      - midi record time stamps now again synchronous to play position
-      - fixed trackinfo geometry (hopefully)
-      - pianoroll: fixed endless loop if record was pressed
-        without any mididevices configured (reported by Ola Andersson)
-      - default to english help if help for $LANG not available
-        (Ola Andersson)
-      - detect misconfigured ALSA system (Ola Andersson)
-      - updated demo app "rasen.med" to current xml format
-0.5.2:
-      - fixed: rtc clock resolution settings in Config->GlobalSettings
-      - fixed: crash on second start of Edit->Marker
-      - more consequent implementation of -a (no audio) command
-        line parameter: no softsynth and LADSPA plugin loading;
-        disable audio menu
-      - fixed sending spurious midi controller settings on startup
-        when track info is active
-      - first code for "random rhythm generator" port from JAZZ++
-      - fixed start offset of midi recording
-      - pianoroll editor: fixed selection update
-      - appearance setting "font size" now persistent
-      - does not crash anymore if no ALSA system found. (ALSA is still
-        needed to compile MusE)
-      - fixed: multiple recordings: clear events form first recording
-        in record buffer
-      - fixed: crash when removing last track with open
-        trackinfo
-      - (bh) added beginnings of alsa midi patchbay
-      - changed suid handling: now MusE runs with normal user uid
-        and switches only to root uid for some special operations
-      - fixed mixdown file output
-      - fixed lock on startup when wave file was missing
-      - arranger: open tracktype pulldown with left mouse click
-        (was opened on right click)
-      - arranger: don't scale pixmap symbols
-      - added share/rawwaves to cvs repository (needed by stk synthi)
-      - changed software synthesizer interface "mess": moved more
-        common synth functionality to "mess.c"; changed synti's to new
-        interface
-      - removed obsolete "short name" in controller type dialog
-      - CtrlCanvas: always draw location marker on top of grid
-      - fixed: TrackInfo: velocity
-      - fixed: alsa midi: "pitch change" interpreted as "channel aftertouch"
-      - fixed some midi controller bugs
-      - implemented new parameter save/restore interface for soft
-        synthesizer (applied to "organ")
-      - (ws) fixed lost controller events on midi import
-      - (ws) fixed crash when removing soft synth in use
-      - (ws) appearanceSettings: changing font size now works better
-      - (Bob) files now include "config.h" instead of relying on -DALSA,
-        -DALSACVS, -DINSTDIR and -DAUDIO
-      - (Bob) Added 'delete preset' button to vam's gui and made it
-        remember what preset file it loaded
-      - Mess: added new class MessMono() which implements some
-        monophone synthesizer features. This is used in the
-        simple demo synthi s1
-      - if you try to exit MusE and abort this process, MusE was
-        left in an unusable state
-      - loop end was not calculated correct; event at loop end
-        was played
-      - muse now again stops at end of song in play mode
-0.5.1:
-      - fixed crash: SaveConfig after Config->SoftSynth->AddSoftSynth
-      - changed default audioSegmentSize from 256 to 512
-      - eliminated message: "input type 66 not handled"
-      - SoftSynth gui was startet with uid root
-      - save project: warn if file open fails
-      - removed trace message "unrecognized event 42" (Sensing Midi Event
-        from external keyboard). Anyway MusE does not handle midi sensing
-        events.
-      - changed geometry for trackInfo panel
-      - more code for 14 bit controller events
-      - install "rawwaves" for stk synti into right place preventing
-        crash on start
-      - fixed another crash when load soft synth configuration
-      - fixed Midi Position Label (was -1 beat/measure off)
-      - fixed problem with lost note off events
-      - generate "note on" events with velocity zero instead of
-        "note off" events
-0.5.0:
-      - pianoroll editor: caption is changed when current part
-        changes
-      - new software synthesizer adapted from:
-         STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
-         Version 3.2
-         By Perry R. Cook, 1995-2000
-         and Gary P. Scavone, 1997-2000.
-         http://www-ccrma.stanford.edu/software/stk/
-      - added presets to "Organ" software synthesizer
-      - changed midi routing for software synthesizer:
-           - controller changes from gui can be recorded
-      - new midi thread implementation
-      - speaker button in pianoroll editor implemented:
-        if on events are played if clicked
-      - new Menu: Midi->InputPlugins
-        - demo plugin "Transpose"
-        - moved Config->MidiRemote to Midi->InputPlugins
-        - moved Config->MidiInputFilter to Midi->InputPlugins
-        - moved Config->MidiInputTransform to Midi->InputPlugins
-      - as usual some bug fixes of old and new bugs
-      - master editor: fixed: locator bars sometimes invisible
-      - master editor: new tempo spin box to change tempo at current
-        position
-0.4.16:
-      - new software synthesizer adapted:
-        "Organ - Additive Organ Synthesizer Voice" from David A. Bartold
-      - new simple demo Synthesizer S1
-      - remove the hardcoded qt path "/usr/qt3" (0.4.15)
-      - fixed many bugs
-      - new: implemented line draw tool in controller editor
-0.4.15:
-      - qt3.0 now required
-      - many gui/widget changes
-      - fixed segfault when pasting wave parts
-      - changed (again) default magnification in wave-view
-      - implemented prefetch thread for playing audio files
-      - fixed: iiwu did not play with ALSA 0.6
-      - fixed: handle audio underruns for ALSA 0.6
-0.4.14:
-      - some makefile and compilation changes
-      - audio play: noise between audioparts during playback
-      - dont stop at end of song when "loop" is active
-      - default magnification in wave-view set to 1
-      - fixed a audio route initialization bug
-      - new metronome configuration: precount configuration added
-0.4.13:
-      - avoid "disconnect error" on startup
-      - wave view: y magnification now persistent
-      - small gui enhancements to reduce flicker
-      - make install: now creates gui dir
-      - implemented 8 bit wave input format
-      - fixed another source of audio crashes
-0.4.12:
-      - audio play: mixing buffer was only partly cleared resulting
-        in random noise
-      - fixed: core after removing soft synth instance
-      - set default master volume to 1
-      - fixed some audio routing bugs
-      - drumedit: added missing display update after drum map loading
-      - drumedit: fixed:  when loading external drum map, velocity values
-         got zero
-      - drumedit: fixed: core some time after loading external drum map
-0.4.11:
-      - iiwu: in GM-mode dontt allow drum channel program changes;
-              also ignore bank select messages
-              - set GM-Mode resets synth
-              - some changes in drum channel handling
-      - substantial changes in audio implementation
-      - reimplemented audio configuration
-      - miditransform: val2 transforms fixed
-0.4.10:
-      - iiwu: implemented sustain, ctrl:expression
-      - iiwu: changed sync audio/midi; this fixes some timing issues
-      - iiwu: fixed: core when loading new sound font while playing
-      - split RT thread into separate midi & audio thread
-      - fixed some bugs: crash on midi recording
-      - some new functions in pianoroll editor
-      - added/integrated Tommi Ilmonens "givertcap"
-      - iiwu: some fixes for ALSA 0.9beta
-      - arranger: voice name popup in channel info works again
-0.4.9:
-      - fixed some memory leaks
-      - before loading a new song all synthesizer instances are
-        now removed
-      - reorganized installation:
-            - there is a toplevel installation directory
-              (default /usr/muse); the environment variable MUSE
-              points to this directory
-            - architecture dependent files go into
-              $(MUSE)/lib, architecture independent files
-              into $(MUSE)/share
-      - MidiSync: MC ticks are now also send in stop mode
-        (if configured)
-        - after "Start" is send, sequencer starts on next
-          midi clock tick
-      - iiwu: fixed core dump on save if no soundfont loaded
-      - iiwu: high resolution buffer size independent midi event
-              processing
-0.4.8:
-      - faster display updates
-      - some changes for better compatibility with different
-        environments (compiler, lib)
-      - fixes for ALSA 0.5.11
-      - fixed core dump while removing soft synth instance
-      - fixed some bugs with iiwu+gui
-      - fixed: TransportWindow: tempochanges while masterflag is off
-      - fixed: all tempochanges are now saved in songfile
-0.4.7:
-      - ALSA 0.5.11 compiles again
-      - MESSS gui interface, first try:
-            -every midi instrument can have an associated
-             GUI (currently only impl. for MESSS soft synths).
-             The GUI is startet as a separate process connected
-             to the midi instrument. The gui sends midi commands
-             (sysex) to stdout. This midi data stream is connected
-             to the midi instrument port.
-            - test implem. can load sound fonts into iiwu synthi
-      - fixed a bug in loading big sound fonts
-      - waveedit: waveform display works again
-      - some iiwu changes
-0.4.6:
-      - completed midi input architecture: every midi track has now
-        assigned input port+channel. Channel can be 1-16 or "all".
-        This allows for routing of different midi channels to
-        different tracks while recording.
-      - changed max number of midi ports from 8 to 16
-      - fixed serveral bugs iiwu software synthesizer
-      - fixed compilation problems with some ALSA versions
-      - fixed: changing track name changed record flag
-      - fixed: remove midi editor if associated track is removed
-      - fixed: initial state of solo button in arranger
-      - fixed: hard to reproduce core while deleting track
-      - new command line option to set real time priority
-      - max number of midi ports is now 16
-      - audio recording from master to file now works:
-            - configure Audio->MixdownFile (only wave/16bit)
-            - switch on record button in audio mixer master strip
-            - play
-      - fixed: graphic master editor: missing display refresh
-        after signature change
-      - changed midiThruFlag: removed from Config->MidiPorts;
-        "midi thru" now is associated with a track, if set all input
-        to that track is echoet to track port/channel
-
-0.4.5:
-      MESSS: (MusE Experimental Software Synthesizer interface Spec):
-        A software synthesizer is implemented as a dynamic
-        loadable library (*.so file) with two interfaces to the
-        outside world:
-
-            - a LADSPA interface for audio output
-            - a midi sequencer interface registered to ALSA
-
-      MusE searches all available synths and presents a list
-      in Config->SoftSynthesizer. To use a synthesizer you have
-      to create an instance. Several instances of an synt can be
-      created and used. Every instance creates
-
-        a) an alsa midi sequencer port (look at Config->MidiPorts)
-        b) a new strip in the audio mixer
-
-      As a demo i ported a stripped down version of the iiwu
-      software synthesizer (http://www.iiwu.org) to MusE.
-      Setup info is in README.softsynth
-
-0.4.4:
-      - fixed cakewalk style event display in arranger
-      - track comments are handled as 0xf text meta events in
-        midi files
-      - fixed: follow song in pianoroll/drumedit (daniel mack)
-      - fixed: refresh in list editor
-      - implemented 14 Bit controller in list editor
-      - new patch form Takashi Iwai enables MusE to compile
-        with ALSA 0.9.0beta5 and current cvs version
-
-0.4.3:
-      - new: Config->MidiInputTransform
-      - new: comments for tracks: click with right button on track
-             name in arrange window
-      - fixed: score editor sometimes eats up all memory on start;
-            machine was unusable for some minutes until muse crashes
-      - fixed some other smaller bugs
-      - patch from Takashi Iwai for latest (cvs-) ALSA
-      - fixed: score postscript generation (printer & preview output)
-
-0.4.2:
-      - added few missing display updates (bugs introduced
-        with 0.4.1 drawing optimizations)
-      - pianoroll editor:
-        - fixed: edit->DeleteEvents
-      - drum editor:
-        - implemented: edit->DeleteEvents
-      - use different cursor shapes while using
-        Glue- Cut- and Rubber tools
-0.4.1:
-      - some small Changes for compiling MusE with gcc 3.0
-      - track info values (transposition, velocity etc)
-        are now applied when exporting to midi file
-      - better geometry management for ctrl panel
-      - pianoroll editor / drum editor now allow for more than
-        one ctrl panel
-      - new: load/save midi controller sets
-      - automatic creation of midi controller sets on
-        midi import
-      - new: active(used) midi controllers for current
-        parts in editor window are now marked in controller list
-      - fixed: parts in open editors are not restored correctly
-      - many drawing optimizations; scrolling is now much
-        faster/smoother
-0.4.0:
-      - input configurable for every track
-        (you can record from more than one midi input device
-        to different tracks)
-      - you have to switch on the "record enable" flag for
-        every track you want to record to
-      - Note "h" is now called "b" unless you set
-        the environment variable "LANGUAGE" to "de"
-      - Changes from Daniel Mack:
-        - bigtime window now shows hour:minute:sec:frame
-        - configurable snap grid for arranger
-        - configurable font size
-        - again "tick underflow"
-
-0.3.20:
-      - "bigtime" widget from Daniel Mack
-      - fixed global accelerator keys f11/f12 (toggle transport &
-        bigtime window)
-      - fixed: score editor: try placing notes in the right margin of the
-        last row gave core dump
-      - score editor: different cursor shapes
-      - new try on missing midi sync ticks (producing "tick underflow"
-        trace messages)
-      - score editor: some small enhancements
-0.3.19:
-      - several small bugfixes from Daniel Mack
-      - fixed "make install"
-      - if you have trouble compiling ALSA audio:
-        change "AUDIO = yes"  to "AUDIO = no" in make.inc
-      - some fixes/enhancements from Brian K:
-        - fixed: score editor: no more "EVENT not found" during subsequent
-          edits of a selected note
-        - scrubbing with rubber tool in score editor
-        - new part appearance option
-0.3.18:
-      - fixed: Export Midifile
-0.3.17:
-      - simple audio recording
-      - midi sync slave: received "start" did not reset pos to tick 0
-      - fixed several bugs in screen update and synchronisation between
-        different midi editors
-      - new: Configure->Appearance dialog from Daniel Mack
-0.3.16:
-      - "follow song" now works in both directions
-      - MidiTransformator: implemented missing "Copy" and "Extract" functions
-      - fixed: reset sustain at stop only for channels which really had sustain
-        set
-      - fixed several bugs in midi sync code; needs more testing
-      - received "set song position" from alsa midi driver now
-        handled in sync slave mode
-      - transport buttons are now disabled in "external midi
-        sync" mode
-      - fixed: do not send midi "start" "stop" "continue" etc. as sync slave
-      - fixed: several small bugs i cannot remember
-0.3.15:
-      - fixed: some typos in "MidiTransformator"
-      - fixed: core at end of midi recording from external
-        sequencer as sync slave
-      - replaced midi "continue" message with "start"
-        when running as midi sync master
-        known bug: midi clock output only if seq plays,
-              should be send always even if seq stops
-        not implemented: cannot change tempo as sync slave
-
-0.3.14:
-      - fixed: core: typo in "undo add track"
-      - fixed: core: "undo remove event"
-      - selection of events is now a global attribute: if you select
-          an event in an editor, the same event is selected in all
-          open editors
-      - new: Midi Transformator (look at edit->MidiTransform)
-        (not all operators and operations are implemented yet)
-0.3.13:
-      - fixed: TimeScale was wrong when using signature changes
-      - fixed: enforce left marker <= right marker
-      - new: mono wave tracks
-      - more usable LADSPA plugins to play with
-      - several small changes/bug fixes
-0.3.12:
-      - fixed: synchronisation of tempo/signature changes with sequencer rt-thread
-      - fixed: track parameter were added again and again in loop mode
-      - new: tempo/signature changes undo/redo
-      - new: midi "transpose" function from Daniel Mack
-        (Arranger: edit->midi->transpose)
-0.3.11:
-      - fixed: fixed serious bug in wave file handling
-      - simple audio play with ALSA 0.9.x
-      - fixed: editing events -> core (introduced in 0.3.10)
-0.3.10:
-      - fixed: core while deleting controller events
-      - new: extended configuration of raw (serial) midi interfaces
-      - fixed: some memory leaks
-      - changed for ALSA 0.9.0 beta2
-0.3.9:
-      - some smaller fixes
-      - fixed: core: missing MidiController() Initialization
-      - fixed: pressing another mouse button while "drawing" an event
-        in a canvas with left mouse button pressed gives core
-0.3.8:
-      - fixed: correct update of midi port table on song change
-      - CtrlEditor: controllers can(must) now be configured
-      - List Editor: corrected handling of meta/sysex strings
-      - changed: combined pitch high/low to single value ranging
-        from -8192 +8191; editable with controller editor
-      - ALSA 0.9.0beta1 works for midi; as far as i tested it, this
-        alsa version has no more problems with OSS raw midi emulation
-      - new: colored activity display in arranger (Daniel Mack)
-      - new: context sensitive extensions to "right mouse click
-        pulldown menues" for arranger parts (Daniel Mack)
-      - new: gui prototypes for extendend configuration of raw midi
-        devices and audio mixdown file selection
-      - fixed: quirks with OSS midi devices configuration
-0.3.7:
-      - start porting to ALSA 0.6.0 cvs version
-      - fixed: option -M produces midi output trace for alsa midi
-      - fixed: pianoroll and drum editor now accept input focus
-        and then honour some keyboard shortcuts
-      - fixed: score editor: core when inserting small rests
-      - new: "ruler" for pianoroll, drum editor and part editor
-      - fixed: midi recording: event len always 1 tick (bug introduced
-        in 0.3.6)
-      - midi port config: show only available raw midi devices
-      - fixed: tempomap/tempo  save/restore
-      - fixed: initialize master button to saved value
-      - some smaller changes:
-            - midi recording: new parts begin at record start instead
-              of first event
-            - missing note offs are insertet virtually at record end
-            - recording takes place on selected track - selected part
-              and not on selected part if on different track
-0.3.6:
-      - fixed: markerList: click in list -> core
-      - fixed: stop at end of song only if not recording
-      - fixed: events of zero length crash the sequencer
-      - fixed: missing note off events for metronome
-      - fixed: gui: changing port/channel in trackinfo updates tracklist
-      - new: midi recording & loop
-0.3.5:
-      - fixed: midi recording with alsa was broken
-      - fixed: mastertrack: -> core
-      - fixed: rename track -> rename part -> core
-      - fixed: help browser: back function
-      - fixed: score: entered lyrics are saved again
-      - fixed: score->staffSettings: tracklist
-      - fixed: score->enterNotes wrong snap position
-0.3.4:
-      - fixed: some bugs & quirks
-      - new: implemented pianoroll->edit->deleteEvents
-
-0.3.3:
-      - new: MusE now stops at end of song if in PLAY mode
-      - fixed: core if muse was started without song name and
-        there was no ".musePrj" file in current directory
-      - new: on popular request: "RewindToStart" button
-      - fixed: changing devices while playing
-      - fixed: arranger: could not scroll to the end of song
-      - fixed: song lenght on midi import
-      - fixed: fatal error in handling "note off" events
-      - new: "sustain" is reset on stop
-
-0.3.2:
-      - fixed: part editing: endo delete, glue etc.
-      - fixed: option -m (trace midi input) works again
-      - fixed: midi input filter: could not toggle channel 1 button
-      - fixed: midi mixer
-      - fixed: midi recording into part: part length adjusted if events
-        recorded past end of part
-      - fixed: MusE initialisation failed if there is no ".musePrj"
-        file in current directory!
-
-0.3.1:
-      - step 2 of internal reorganization
-      - fixed: score: lyrics are now saved again
-      - fixed: some quirks with lost track markers
-      - new: Option -L locks sequencer memory
-      - fixed: recording from serial midi (raw oss & korg tohost)
-      - fixed: several smaller bugs & quirks
-
-0.3.0:
-      - fixed: pianoroll editor: entering new events -> core
-      - new: drum editor click on instrument name "plays"
-             instrument
-      - fixed: changing the channel of a track now changes also
-            the channel of all events in that track
-      - massive changes for audio/wave integration:
-        - start of audio mixer
-        - audio routing
-
-0.2.12:
-      - fixed: wave files/tracks/parts: calculation of tick<->time;
-            it should be possible again to import/play simple waves
-      - fixed: funny things happend when muting all audio tracks
-      - fixed: core if no active record track
-      - new: Rob Naccarato started with documentation; press
-            <F1> in MusE and have a look
-
-0.2.11:
-      - fixed: metronome
-      - fixed: initial state of "click" transport button
-      - fixed: midi thru:
-            if midi thru is switched on, all received events are
-            echoed to the port/channel associated to the currently
-            selected track, regardless of the input port/channel.
-            Track parameters as pitch shift, velocity compression etc.
-            are applied before echoing the event.
-      - _not_ fixed: alsa midi driver: strange sysex behaviour
-0.2.10:
-      - fixed: parameter change in midi trackinfo
-      - fixed: some errors in *.med file handling
-      - fixed: midi export
-      - fixed: midi events are now played according to priority:
-            - channel priority:  10,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16
-            - note off before note on
-0.2.9:
-      - fixed: typo in seq.c destroyed timing of 0.2.8
-      - fixed: importing audio files
-      - fixed: writing *med files
-      - fixed: wave form display in arranger
-      - fixed: core on click in arranger "no track area " with pencil tool
-0.2.8:
-      - fixed: oss midi devices now work agin
-      - reorganized midi event dispatcher
-      - fixed: pitchbend for midialsa (Xavier)
-0.2.7:
-      - midi driver reorganization in preparation
-        for better ALSA sequencer integration; soundcard synth
-        work again
-      - some fixes
-0.2.6:
-      DrumEditor overhaul:
-      - fixed: reading drum maps
-      - changed: exporting drum maps now writes the whole map
-      - fixed: device popup: ...invalid menu item
-      - new: instruments can now be moved
-      - fixed: changing A-Note/E-Note did not show effect
-      - changed: small x-offset in event canvas allows better placement of
-        events at pos 1.1.0
-      - new: instrument names can be edited (double click instrument name)
-      - new: some drum maps
-      - fixed: update() missing after selection change in canvas
-      - fixed: len of new inserted drum events was quant-value, should be
-        default len from drum map
-      Alsa Midi Driver:
-      - changed (soundcard synth does not work :-( )
-0.2.5:
-      - fixed: session management for list editor
-      - new: list editor: hex entry in meta event dialog
-      - fixed: Midi: "GS Reset" button aktually did a "GM Reset"
-      - fixed: Midi: "GS Reset" on Song Start was always combined with "GM Reset"
-      - fixed: Arranger: copy/paste produced core
-      - fixed: Arranger: removed some (not working) key accelerators
-      - new: Drag file from KDE fm and Drop on arranger partlist
-      - removed bogus midi archiv
-      - some major code reorganizations in preparation for audio integration
-        resulting in new errors and *.med file incompatibilities;
-      - fixed: "cannot delete busy part" even if part is not busy
-      - fixed: arranger/progname.c: bad instrument name table caused segfault
-        (Tim Mann)
-      - fixed: score/layout.c: could not enter A# (Gilles Fillipini)
-0.2.4:
-      - fixed: removed silly warning: Cannot find translation...
-              (translations are not (yet) enabled)
-      - fixed: trackMarker->destroy TrackMarker->create track -> core
-      - new: integration of track markers in arranger
-          - export/import SMF-Marker as Meta Type 6
-      - changed: src/makefiles new arranged
-      - fixed: score editor: too many rests
-      - fixed: core if you try to insert note outside of staves
-0.2.3:
-      - MidiSyncConfig: extSync synchronized with button in transport
-        window
-      - audio: try oss audio device /dev/dsp in addition to /dev/sound/dsp
-      - changed: column expand logic in arranger tracklist
-      - new: KDE2.2: define HAVE_KDE in make.inc to compile a
-        KDE version of MusE (experimental)
-      - new: realtime recording of Midi SysEx Events
-      - changed: better LADSPA plugin handling
-      - fixed: Pianoroll: Color Events: RGB parameter out of range
-      - changed: canvas: moving objects
-      - fixed: AudioMasterMixer produced core after second invocation
-      - new: track markers
-0.2.2:
-      - switched to QT2.2
-      - fixed: Transport: "Master" button initialization
-      - fixed: session management for partlist in midi editors;
-               (new *.med xml files are probably incompatible
-      - fixed: cut&paste now works for parts on drum tracks
-      - fixed: cannot delete busy Parts any more
-      - fixed: honour LADSPA_PATH environment variable
-      - fixed: TransportWindow stays on top and is manageable
-               (testet with KDE2 beta4)
-      - fixed: arranger: column order is now recorded in
-            .med file
-      - fixed: sometimes under obscure circumstances MusE crashed
-            while opening an midi editor
-      - fixed: several typos/errors in *.med file reading/writing
-      - new: list editor: insert midi events (incl. sysex & meta)
-            double click on list entry to open editor to modify
-            values
-      - new: MTC/MMC Slave:
-               Configured as slave you can synchronize MusE
-               from external devices using Midi Time Code.
-             Midi Clock Master:
-               Configured as master MusE can control external
-               sequencers
-             Hooks for MTC/MMC Master and MidiClock slave.
-      - fixed: score: ScoreConfig::setTracklist() missing "clear"
-      - new: score: odd rest values implemented
-0.2.1:
-      - new: Arranger: move (midi) parts between applications:
-            - cut/copy part(s) to global clipboard
-            - paste part(s) from global clipboard to arranger
-            - drag parts with middle mouse button (experimental)
-      - new: Pianoroll: move events between applications:
-            - cut/copy events to global clipboard
-            - paste events from global clipboard to arranger
-            - drag events with middle mouse button
-      - fixed: only write audio if there are audio tracks
-      - fixed: PianorollEditor: moving multiple selected events
-            (thanks to Chris Wakelin)
-      - fixed: commented out unused/missing "color.xpm"
-      - fixed: partlist changed to multimap<>
-0.2.0:
-      - fixed: another error in OSS midi driver which results in
-        "bad file descriptor" aborts
-      - fixed: MidiFilter - RecordFilter/ThruFilter
-      - new: Master Part of Audio Mixer:
-            - Audio Level Meter
-            - LADSPA Host with
-              - automatic generated user interface
-              - presets store/load
-      - new: LADSPA "Freeverb" plugin for audio master
-      - new: Drum Editor
-            - load/save drum maps
-            - drawing reorganized
-      - new: Pianoroll Editor Functions:
-            - configurable event colors (none/pitch/velocity)
-            - configurable function ranges (apply functions to
-              all/loop/marked events)
-            - selection functions (all/none/loop/invert)
-            - switch between different parts in editor ("ghost events")
-            - PencilTool: Control+LeftMouseButton prevents
-              accidental creation of events
-            - PointerTool: Control+LeftMouseButton restricts
-              to horizontal or vertical move
-0.1.10:
-      - new: MidiExport: some configurable Parameter for exported
-            Standard Midi File (SMF)
-      - new: configurable Midi Record/Thru Filter for midi
-            realtime recording
-      - fixed: time signature changes in score editor
-      - fixed: "midi bar scale" is updated on time signature
-            changes
-      - fixed: event sorting in "list mastertrack editor"
-0.1.9:
-      - fixed: tempo changes during play
-      - fixed: "follow event" in graphical mastertrack editor
-      - fixed: mastertrack list: dynamic content update if song changed
-      - fixed: OSS midi serial output was broken
-0.1.8:
-      - bug: scaling in graphical mastertrack editor
-      - bug: reduce value of MAX_TICK to prevent overflow in scaling
-      - bug: pianoroll editor: length quantization
-      - bug: midi import: timing broken; bug introduced in 0.1.6
-      - feature: editing of time signature in graphical mastertrack
-0.1.7:
-      - bug: typo for 't'-kb accelerator in pianoroll-editor
-      - bug: quant values < 1/64 are not supported-> assertion bug
-        for keyboard accelerator >=8 in pianoroll editor
-      - pianoroll: new feature: step recording - midi input:
-            - press "shift"+ midiKey to enter chords
-              (if you enter same note again, it's deleted)
-            - press "ctrl" + midiKey to continue last note
-      - pianoroll: new menu function: quantize pos+len
-      - quantize configuration dialog: added flag for default len quantization
-                                       "whats this" help text
-0.1.6:
-      - bug: exported midifiles had random "division" timing parameter
-      - bug: core dump on midi record start
-      - feature: keyboard accelerators in pianoroll editor:
-            '1'-'9' '.' and 't' set quant & snap values
-
-0.1.5:
-      - MusE now works again without RTC (Real Time Clock) Device
-        (but much reduced timing accuracy)
-      - new Debug Options -m -M: MidiDump for input and output
-      - global keyboard accelerators:
-        spacebar: while play/record: STOP
-                  while stop:  Goto left mark
-                  while on left mark: Goto Pos 0
-        Enter:    start play
-        Insert:   Stop
-        "/":      Cycle on/off
-        "*":      Record on
-      - Midi Step Recording: implemented external midi keyboard as
-        recording source (new "midi input" toggle button in pianoroll editor)
-0.1.4:
-      Audio
-      ==============
-      - simple audio play (ALSA & OSS)
-      - stubs for cliplist Editor, audio recording
-      - AudioMixer master volume
-      - bug fixes for wave viewer
-
-      Synthesizer
-      ==============
-      - first part of framework for realtime software synthesizer
-        driver/synthis, s1/*;
-
-0.1.3:
-      Score Editor:
-      ==============
-      - print preview button (gv)
-      - postscript default resolution is 72dpi and not 75dpi
-      - configurable overall scale for printer output
-      - simple beams
-
-      Misc:
-      ==============
-      - bug: path handling for project file: project files are now
-          saved in the correct directory
-      - bug: canvas initial scaling
-      - bug: core if configured device didnt exists
-      - bug: ctrl editor produced values > 127
-      - feature: Arranger: Parts are now displayed with a horizontal offset
-      - feature: Arranger: added save/restore for some configuration values
-      - feature: Midi Recording: track parameter like Transposition are now
-        applied before loop through
-      - feature: "Thru" flag in Configure->MidiDevices now implemented
-      - feature: Midi Remote Control: control sequencer stop/play/record/rewind
-        with configurable note events
-      - bug: typo in score/layout.c:split() caused core
-
-0.1.2:
-      - Score:
-        - add lyrics entry
-        - changed note head for 4/4
-        - changed positioning of 2/4 and 4/4 notes
-        - ties can now span systems
-        - tie connected notes are selected as one note
-        - page settings, margins handling corrected
-        - configurable fonts for score editor page layout
-0.1.1:
-      - master: scale changed
-      - no more core when selecting the score editor without a selected
-        part to edit
-      - time signature scale in master track
-      - master track: function tempo edit
-      - new popup menu in arranger / part canvas
-      - makefile: "make depend" target
-      - new: alsa raw midi interface
-      - improved score editor:
-          - split system (piano left&right hand)
-          - multi stave systems
-          - symbols
-          - lasso selection
-          - dynamics symbol palette
-      - window position of all toplevel windows is now remembered
-        correctly
-      - bug fixes & code cleanups
-
-0.0.10:
-      - removed obsolete file.c file.h
-      - separated midi archive
-      - removed unused widgets/wtscale.*
-      - removed unused widgets/dial.*
-      - midis with Meta Event Type 6 produced core
-      - removed '\n' chars from windows caption
-      - new setBg(QColor) method for class View
-      - broken Ctrl-Editor fixed
-      - Pencil Cursor now shown for Pencil Tool in Ctrl-Editor
-      - Mute Indicator changed to red dot
-      - added CtrlEditor to DrumEditor
-      - process session info in xml songfile
-      - more work on mastertrack
-      - start ScoreEditor and moving the mouse on canvas (producing
-          mouseMoveEvents) before exposure of QLineEdit (time & pitch
-          in toolbar) produced core on QLineEdit->setText(xx)
-      - in continuous scroll mode position marker updated correctly
-0.0.9:
-      - xml like configuration and song file
-      - new midi mixer, shows only active midi channels
-      - bug: metronom configuration: channel&port numbers
-      - bug fixes
-0.0.8:
-      - new: quantize function
-      - new: wave tracks: new classes: WaveFile Clip;
-            load wave file; expand song file structure
-            first try on wave editor;
-      - logarithmic magnify
-      - rework of View & Canvas Classes, resulting in much
-        faster scrolling
-0.0.7:
-      - fatal error: use of uninitialized device
-0.0.6:
-      - more diagnostics in file functions
-      - new: can load and save *.gz and *.bz2 files
-      - new function: send local off to instruments
-      - bug fixes in pianoroll step recording
-      - bug fix: "follow song" save and restore
-      - bug fix: in importing midi files: calculating parts
-      - bug fix: metronome -> core
-      - new configuration options for parts
-
-0.0.5:
-      - new: midi activity display in tracklist
-      - new: patch selector in channel info; shows midi instrument
-             categories
-      - new: insert & delete Controller Values in Ctrl-Editor
-      - some minor bugs corrected
-      - nasty bug in Song::nextEvents(), which prevents simple
-        midi songs played correctly
-
-0.0.4:
-      - implemented: forward & rewind buttons
-      - implemented: drum edit: change values in info bar
-      - error: arranger->tracklist: resize failed if columns are swapped
-      - enhanced file selector for background image selection
-      - more WhatsThis and ToolTip Help
-      - Backport to QT202: Filedialog: Filterlists dont work
-      -                    Midi Config: changed signal click() to rightButtonClick()
-      - missing initialisation in song constructor
-      - new subdirectory for controller editor
-      - controller editor for some values
-0.0.3:
-      - new transport design
-      - redesign of TrackInfo and ChannelInfo
-      - some changes reg. fonts and geometry management
-      - misc toolbars changed to read qt toolbars
-0.0.2:
-      - changed color for cpos to red
-      - dont play metronome clicks with time < current
-      - doubleclick on arranger trackname: entrywidget now gets
-        input focus
-      - midi device configuration: reworked
-      - removed endless loop in Song::nextEvents()
-      - ported to qt-2.1.0-snapshot-20000113
-        - changed QPushButton to QToolButton
-      - some cosmetic changes in transport window
-
-0.0.1
-      - first release
-

-- 
muse packaging



More information about the pkg-multimedia-commits mailing list