Added HydrogenImport plugin

This is a new plugin that imports hydrogen drum machine songs.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Song: added h2song file extension to file import dialog

After we added the HydrogenImport plugin we should also change the
file import dialog such that the user can chose h2song files.
VST to host sync

This patch should bring VST to host synchronization for LMMS.
 (e.g. for plugins like dBlue Glitch, TAL Filters).

Synchronization is done via shared memory, missing song time
positions are reccalculated and added to PPQ position sync values
(SHM - common input interface for sync of all VST plugins)
VST Effects: preserve effect name after LMMS project reload

This patch will set plugin name (information which is not stored with lmms
project file) according plugin file, without *.dll, when is LMMS project
loaded from the file.

Future verion could maybe use PluginBrowser or EffectSellectDialog for the
same.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
VST Effects: Open each effect only once, when loaded from project file

Folowing change should ensure VST effect is opened just once, once
loaded from project file.

Double opening seems to trace back to commit 184ddc4d1c2947e459c96158cc77f0ff4699846f
from 2006, when this VST effect save / load feature was introduced as new.

Anyway VST effect parameters seems to load corectly in
VstEffectControls::loadSettings, from project file even without double
VST effect opening.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
VST sync patch: compatibility fix for 64bit builds

It seems 64bit builds for some reason have problems with VST Sync feature on,
workaround seems to be converting VST sync patch from double to floats,
which does work both with 32 and 64bit builds. Double precision
seems to produce odd numbers with 64bit build. (tested on VirtualBox Linux
Mint 14.1 64 bit OS)
(cherry picked from commit 011f87e6e60cccd16f3783e9c4885e03d95c1e56)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Fixes #3604316: LMMS crashes using AudioFileProcessor

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
AboutDialog: updated copyright year
Default theme: new graphics for note icons

Thanks to John Serafino <lzrblade/at/gmail/dot/com> for the creative work.
Updated chord and scale icon based on new note icons
Made 0.4.14 release

Bumped version number to 0.4.14 in CMakeLists.txt, README and lmms.rc.in.
InstrumentTrack: fix freeze when forwarding MIDI events to instrument

In commit a3abcdb2e0ac91887c5ef7b4299ab8113994625c we introduced
multitimbral MIDI support. However the new code path causes the mixer
not being unlocked at exit and thus causes a freeze of LMMS.

Thanks to nuio for pointing out this issue and providing a patch.

Closes #532.
AudioFileProcessor: fix crash with reversed samples

AudioFileProcessorWaveView::slideSampleByFrames() gets called before the
knobs are created and/or after they are destroyed if the sample is
reversed. Added checks for nonexistant knobs.

Closes Patch #41 and Bug #525.
AudioFileProcessor: Make AFP cursor configurable

Add possibility to turn off playback cursor in AFP. Might be good
for weaker systems.

Closes Patch #40.
Sf2Player: preserve custom track name when loading settings

Commit a184bc039e8ac3064491772fd4d1d512619ac903 introduced a regression
which causes a custom track name not being preserved when loading
setings.

Closes #534.
AudioFileWave: test for properly opened output file

Do not pretend things gone right if output file could not be opened
for some reason.

Closes #539.
AudioFileOgg: test for properly opened output file

Do not pretend things gone right if output file could not be opened
for some reason.

Closes #539.
InstrumentFunctions/ChordCreator: fixed major pentatonic

The last key of the major pentatonic chord was wrong and has been fixed.

Thanks to Mike804 for reporting the issue.

Closes #538.
AutomationPattern: removed unused member variable

The variable m_hasAutomation is not required anymore and thus can be
dropped.
AutomationPattern: initialize with current value of first object

When attaching a control object to an AutomationPattern initialize the
value at position 0 with the current value of the control object.

This is similiar to the behaviour found in LMMS < 0.4.14 and has been
reintroduced as requested by some users.

Closes #535.