diff --git a/data/presets/Kicker/Clap.xpf b/data/presets/Kicker/Clap.xpf
new file mode 100644
index 000000000..4b3394228
--- /dev/null
+++ b/data/presets/Kicker/Clap.xpf
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/presets/Kicker/HihatClosed.xpf b/data/presets/Kicker/HihatClosed.xpf
new file mode 100644
index 000000000..72ee5b9bd
--- /dev/null
+++ b/data/presets/Kicker/HihatClosed.xpf
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/presets/Kicker/HihatOpen.xpf b/data/presets/Kicker/HihatOpen.xpf
new file mode 100644
index 000000000..1e0c9b3a9
--- /dev/null
+++ b/data/presets/Kicker/HihatOpen.xpf
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/presets/Kicker/Shaker.xpf b/data/presets/Kicker/Shaker.xpf
new file mode 100644
index 000000000..452047aa3
--- /dev/null
+++ b/data/presets/Kicker/Shaker.xpf
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/presets/Kicker/SnareLong.xpf b/data/presets/Kicker/SnareLong.xpf
new file mode 100644
index 000000000..bcccb4172
--- /dev/null
+++ b/data/presets/Kicker/SnareLong.xpf
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/kicker/kicker.cpp b/plugins/kicker/kicker.cpp
index 5bbd35a10..c7dd50805 100644
--- a/plugins/kicker/kicker.cpp
+++ b/plugins/kicker/kicker.cpp
@@ -69,7 +69,8 @@ kickerInstrument::kickerInstrument( InstrumentTrack * _instrument_track ) :
m_clickModel( 0.4f, 0.0f, 1.0f, 0.05f, this, tr( "Click" ) ),
m_slopeModel( 0.06f, 0.001f, 1.0f, 0.001f, this, tr( "Slope" ) ),
m_startNoteModel( false, this, tr( "Start from note" ) ),
- m_endNoteModel( false, this, tr( "End to note" ) )
+ m_endNoteModel( false, this, tr( "End to note" ) ),
+ m_versionModel( 0, 0, KICKER_PRESET_VERSION, this, "" )
{
}
@@ -97,6 +98,7 @@ void kickerInstrument::saveSettings( QDomDocument & _doc,
m_slopeModel.saveSettings( _doc, _this, "slope" );
m_startNoteModel.saveSettings( _doc, _this, "startnote" );
m_endNoteModel.saveSettings( _doc, _this, "endnote" );
+ m_versionModel.saveSettings( _doc, _this, "version" );
}
@@ -115,6 +117,17 @@ void kickerInstrument::loadSettings( const QDomElement & _this )
m_slopeModel.loadSettings( _this, "slope" );
m_startNoteModel.loadSettings( _this, "startnote" );
m_endNoteModel.loadSettings( _this, "endnote" );
+ m_versionModel.loadSettings( _this, "version" );
+
+ // Try to maintain backwards compatibility
+ if( m_versionModel.value() < 1 )
+ {
+ m_decayModel.setValue( m_decayModel.value() * 1.33f );
+ m_envModel.setValue( 1.0f );
+ m_slopeModel.setValue( 1.0f );
+ m_clickModel.setValue( 0.0f );
+ m_versionModel.setValue( KICKER_PRESET_VERSION );
+ }
}
diff --git a/plugins/kicker/kicker.h b/plugins/kicker/kicker.h
index 8253becf8..8e58a42e0 100644
--- a/plugins/kicker/kicker.h
+++ b/plugins/kicker/kicker.h
@@ -34,6 +34,9 @@
#include "led_checkbox.h"
+#define KICKER_PRESET_VERSION 1
+
+
class kickerInstrumentView;
class NotePlayHandle;
@@ -80,6 +83,8 @@ private:
BoolModel m_startNoteModel;
BoolModel m_endNoteModel;
+ IntModel m_versionModel;
+
friend class kickerInstrumentView;
} ;