From 588ad3bc88f29523b52cd51779f94d7bae5f33dd Mon Sep 17 00:00:00 2001
From: Florian Jung <flo@windfisch.org>
Date: Wed, 18 May 2011 19:19:40 +0000
Subject: moved more files -- DOES NOT COMPILE!

---
 muse2/muse/functions.h                             |  14 +-
 muse2/muse/midiedit/scoreedit.cpp                  |   7 +-
 muse2/muse/widgets/CMakeLists.txt                  |  21 --
 muse2/muse/widgets/crescendo.cpp                   | 112 -----------
 muse2/muse/widgets/crescendo.h                     |  46 -----
 muse2/muse/widgets/crescendobase.ui                | 223 ---------------------
 muse2/muse/widgets/deloverlaps.cpp                 |  79 --------
 muse2/muse/widgets/deloverlaps.h                   |  39 ----
 muse2/muse/widgets/deloverlapsbase.ui              | 153 --------------
 muse2/muse/widgets/function_dialogs/crescendo.cpp  | 112 +++++++++++
 muse2/muse/widgets/function_dialogs/crescendo.h    |  46 +++++
 .../muse/widgets/function_dialogs/crescendobase.ui | 223 +++++++++++++++++++++
 .../muse/widgets/function_dialogs/deloverlaps.cpp  |  79 ++++++++
 muse2/muse/widgets/function_dialogs/deloverlaps.h  |  39 ++++
 .../widgets/function_dialogs/deloverlapsbase.ui    | 153 ++++++++++++++
 muse2/muse/widgets/function_dialogs/move.cpp       |  84 ++++++++
 muse2/muse/widgets/function_dialogs/move.h         |  41 ++++
 muse2/muse/widgets/function_dialogs/movebase.ui    | 203 +++++++++++++++++++
 muse2/muse/widgets/function_dialogs/remove.cpp     |  78 +++++++
 muse2/muse/widgets/function_dialogs/remove.h       |  40 ++++
 muse2/muse/widgets/function_dialogs/removebase.ui  | 153 ++++++++++++++
 muse2/muse/widgets/function_dialogs/setlen.cpp     |  83 ++++++++
 muse2/muse/widgets/function_dialogs/setlen.h       |  41 ++++
 muse2/muse/widgets/function_dialogs/setlenbase.ui  | 197 ++++++++++++++++++
 muse2/muse/widgets/function_dialogs/transpose.cpp  |  83 ++++++++
 muse2/muse/widgets/function_dialogs/transpose.h    |  41 ++++
 .../muse/widgets/function_dialogs/transposebase.ui | 203 +++++++++++++++++++
 muse2/muse/widgets/function_dialogs/velocity.cpp   | 102 ++++++++++
 muse2/muse/widgets/function_dialogs/velocity.h     |  45 +++++
 .../muse/widgets/function_dialogs/velocitybase.ui  | 221 ++++++++++++++++++++
 muse2/muse/widgets/move.cpp                        |  84 --------
 muse2/muse/widgets/move.h                          |  41 ----
 muse2/muse/widgets/movebase.ui                     | 203 -------------------
 muse2/muse/widgets/remove.cpp                      |  78 -------
 muse2/muse/widgets/remove.h                        |  40 ----
 muse2/muse/widgets/removebase.ui                   | 153 --------------
 muse2/muse/widgets/setlen.cpp                      |  83 --------
 muse2/muse/widgets/setlen.h                        |  41 ----
 muse2/muse/widgets/setlenbase.ui                   | 197 ------------------
 muse2/muse/widgets/transpose.cpp                   |  83 --------
 muse2/muse/widgets/transpose.h                     |  41 ----
 muse2/muse/widgets/transposebase.ui                | 203 -------------------
 muse2/muse/widgets/velocity.cpp                    | 102 ----------
 muse2/muse/widgets/velocity.h                      |  45 -----
 muse2/muse/widgets/velocitybase.ui                 | 221 --------------------
 45 files changed, 2279 insertions(+), 2297 deletions(-)
 delete mode 100644 muse2/muse/widgets/crescendo.cpp
 delete mode 100644 muse2/muse/widgets/crescendo.h
 delete mode 100644 muse2/muse/widgets/crescendobase.ui
 delete mode 100644 muse2/muse/widgets/deloverlaps.cpp
 delete mode 100644 muse2/muse/widgets/deloverlaps.h
 delete mode 100644 muse2/muse/widgets/deloverlapsbase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/crescendo.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/crescendo.h
 create mode 100644 muse2/muse/widgets/function_dialogs/crescendobase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/deloverlaps.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/deloverlaps.h
 create mode 100644 muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/move.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/move.h
 create mode 100644 muse2/muse/widgets/function_dialogs/movebase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/remove.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/remove.h
 create mode 100644 muse2/muse/widgets/function_dialogs/removebase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/setlen.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/setlen.h
 create mode 100644 muse2/muse/widgets/function_dialogs/setlenbase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/transpose.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/transpose.h
 create mode 100644 muse2/muse/widgets/function_dialogs/transposebase.ui
 create mode 100644 muse2/muse/widgets/function_dialogs/velocity.cpp
 create mode 100644 muse2/muse/widgets/function_dialogs/velocity.h
 create mode 100644 muse2/muse/widgets/function_dialogs/velocitybase.ui
 delete mode 100644 muse2/muse/widgets/move.cpp
 delete mode 100644 muse2/muse/widgets/move.h
 delete mode 100644 muse2/muse/widgets/movebase.ui
 delete mode 100644 muse2/muse/widgets/remove.cpp
 delete mode 100644 muse2/muse/widgets/remove.h
 delete mode 100644 muse2/muse/widgets/removebase.ui
 delete mode 100644 muse2/muse/widgets/setlen.cpp
 delete mode 100644 muse2/muse/widgets/setlen.h
 delete mode 100644 muse2/muse/widgets/setlenbase.ui
 delete mode 100644 muse2/muse/widgets/transpose.cpp
 delete mode 100644 muse2/muse/widgets/transpose.h
 delete mode 100644 muse2/muse/widgets/transposebase.ui
 delete mode 100644 muse2/muse/widgets/velocity.cpp
 delete mode 100644 muse2/muse/widgets/velocity.h
 delete mode 100644 muse2/muse/widgets/velocitybase.ui

(limited to 'muse2')

diff --git a/muse2/muse/functions.h b/muse2/muse/functions.h
index 9987958b..2b6dc711 100644
--- a/muse2/muse/functions.h
+++ b/muse2/muse/functions.h
@@ -8,15 +8,15 @@
 #ifndef __FUNCTIONS_H__
 #define __FUNCTIONS_H__
 
-#include "velocity.h"
+#include "widgets/function_dialogs/velocity.h"
 #include "widgets/function_dialogs/quantize.h"
-#include "crescendo.h"
+#include "widgets/function_dialogs/crescendo.h"
 #include "widgets/function_dialogs/gatetime.h"
-#include "remove.h"
-#include "transpose.h"
-#include "setlen.h"
-#include "move.h"
-#include "deloverlaps.h"
+#include "widgets/function_dialogs/remove.h"
+#include "widgets/function_dialogs/transpose.h"
+#include "widgets/function_dialogs/setlen.h"
+#include "widgets/function_dialogs/move.h"
+#include "widgets/function_dialogs/deloverlaps.h"
 
 #include <set>
 #include "part.h"
diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp
index 9a4f6820..df915092 100644
--- a/muse2/muse/midiedit/scoreedit.cpp
+++ b/muse2/muse/midiedit/scoreedit.cpp
@@ -4202,13 +4202,12 @@ void staff_t::apply_lasso(QRect rect, set<Event*>& already_processed)
  *     between, for example, when a cis is tied to a des
  * 
  * CURRENT TODO
- *   o draw controllers in part "slivers"
+ *   o in step-rec: insert chords
  * 
  * IMPORTANT TODO
  *   o display blue loop markers in score editor
  *   o transpose: support in-key-transpose
  *   o drum-loop-editor (like in sq korg ds xD)
- *   o in step-rec: insert chords
  *
  *   o add a select-clef-toolbox for tracks
  *   o respect the track's clef (has to be implemented first in muse)
@@ -4217,6 +4216,10 @@ void staff_t::apply_lasso(QRect rect, set<Event*>& already_processed)
  *   o transpose etc. must also transpose key-pressure events
  *
  * less important stuff
+ *   o quantize-templates (everything is forced into a specified
+ *                         rhythm)
+ *   o part-templates (you specify some notes and a control-chord;
+ *                     the notes are set according to the chord then)
  *   o add functions like set velo, mod/set velo-off
  *   o deal with expanding parts
  *   o use bars instead of flags over groups of 8ths / 16ths etc
diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt
index 2d848ab0..5989df11 100644
--- a/muse2/muse/widgets/CMakeLists.txt
+++ b/muse2/muse/widgets/CMakeLists.txt
@@ -81,13 +81,6 @@ QT4_WRAP_CPP (widget_mocs
       # ttoolbar.h  
       ttoolbutton.h  
       unusedwavefiles.h
-      velocity.h
-      crescendo.h  
-      move.h  
-      remove.h  
-      deloverlaps.h  
-      setlen.h  
-      transpose.h  
       verticalmeter.h
       view.h
       vscale.h
@@ -120,15 +113,7 @@ file (GLOB widgets_ui_files
       songinfo.ui  
       synthconfigbase.ui  
       transformbase.ui  
-      transposebase.ui
       unusedwavefiles.ui
-      velocitybase.ui
-      crescendobase.ui
-      movebase.ui
-      removebase.ui
-      deloverlapsbase.ui
-      transposebase.ui
-      setlenbase.ui
       )
 QT4_WRAP_UI (widget_ui_headers ${widgets_ui_files})
 
@@ -195,12 +180,6 @@ file (GLOB widgets_source_files
       unusedwavefiles.cpp
       utils.cpp
       velocity.cpp 
-      crescendo.cpp 
-      move.cpp 
-      remove.cpp 
-      deloverlaps.cpp 
-      setlen.cpp 
-      transpose.cpp 
       verticalmeter.cpp
       view.cpp
       vscale.cpp
diff --git a/muse2/muse/widgets/crescendo.cpp b/muse2/muse/widgets/crescendo.cpp
deleted file mode 100644
index ef31c5ef..00000000
--- a/muse2/muse/widgets/crescendo.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: crescendo.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "crescendo.h"
-#include "xml.h"
-
-Crescendo::Crescendo(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	connect(absolute_button, SIGNAL(toggled(bool)), SLOT(absolute_changed(bool)));
-	
-	pull_values();
-}
-
-void Crescendo::pull_values()
-{
-	range = range_group->checkedId();
-	start_val = start_spinbox->value();
-	end_val = end_spinbox->value();
-	absolute = absolute_button->isChecked();
-}
-
-void Crescendo::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int Crescendo::exec()
-{
-	if ((range < 2) || (range > 3)) range=3;
-	
-	range_group->button(range)->setChecked(true);
-	start_spinbox->setValue(start_val);
-	end_spinbox->setValue(end_val);
-	absolute_button->setChecked(absolute);
-	absolute_changed(absolute);
-	
-	return QDialog::exec();
-}
-
-void Crescendo::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else if (tag == "start")
-					start_val=xml.parseInt();
-				else if (tag == "end")
-					end_val=xml.parseInt();
-				else if (tag == "absolute")
-					absolute=xml.parseInt();
-				else
-					xml.unknown("Crescendo");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "crescendo")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Crescendo::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "crescendo");
-	xml.intTag(level, "range", range);
-	xml.intTag(level, "start", start_val);
-	xml.intTag(level, "end", end_val);
-	xml.intTag(level, "absolute", absolute);
-	xml.tag(level, "/crescendo");
-}
-
-void Crescendo::absolute_changed(bool val)
-{
-	if (val)
-	{
-		start_spinbox->setMaximum(127);
-		start_spinbox->setSuffix("");
-		end_spinbox->setMaximum(127);
-		end_spinbox->setSuffix("");
-	}
-	else
-	{
-		start_spinbox->setMaximum(12700);
-		start_spinbox->setSuffix(" %");
-		end_spinbox->setMaximum(12700);
-		end_spinbox->setSuffix(" %");
-	}
-}
diff --git a/muse2/muse/widgets/crescendo.h b/muse2/muse/widgets/crescendo.h
deleted file mode 100644
index eb00e94f..00000000
--- a/muse2/muse/widgets/crescendo.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: crescendo.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __CRESCENDO_H__
-#define __CRESCENDO_H__
-
-#include "ui_crescendobase.h"
-
-class QButtonGroup;
-class Xml;
-
-class Crescendo : public QDialog, public Ui::CrescendoBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		Crescendo(QWidget* parent = 0);
-
-		int range;
-		int start_val;
-		int end_val;
-		bool absolute;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-		
-	public slots:
-		int exec();
-	
-	private slots:
-		void absolute_changed(bool);
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/crescendobase.ui b/muse2/muse/widgets/crescendobase.ui
deleted file mode 100644
index 5f4ec1f4..00000000
--- a/muse2/muse/widgets/crescendobase.ui
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>CrescendoBase</class>
- <widget class="QDialog" name="CrescendoBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>293</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Crescendo/Decrescendo</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="title">
-      <string>Values</string>
-     </property>
-     <property name="flat">
-      <bool>false</bool>
-     </property>
-     <property name="checkable">
-      <bool>false</bool>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="TextLabel3">
-        <property name="text">
-         <string>Start velocity</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QSpinBox" name="start_spinbox">
-        <property name="suffix">
-         <string> %</string>
-        </property>
-        <property name="minimum">
-         <number>0</number>
-        </property>
-        <property name="maximum">
-         <number>12700</number>
-        </property>
-        <property name="value">
-         <number>80</number>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="label">
-        <property name="text">
-         <string>End velocity</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0">
-       <widget class="QRadioButton" name="absolute_button">
-        <property name="text">
-         <string>Absolute</string>
-        </property>
-        <property name="checked">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="0">
-       <widget class="QRadioButton" name="relative_button">
-        <property name="text">
-         <string>Relative</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QSpinBox" name="end_spinbox">
-        <property name="suffix">
-         <string> %</string>
-        </property>
-        <property name="maximum">
-         <number>12700</number>
-        </property>
-        <property name="value">
-         <number>130</number>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>CrescendoBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>CrescendoBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/deloverlaps.cpp b/muse2/muse/widgets/deloverlaps.cpp
deleted file mode 100644
index 76103d74..00000000
--- a/muse2/muse/widgets/deloverlaps.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: deloverlaps.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "deloverlaps.h"
-#include "xml.h"
-
-
-DelOverlaps::DelOverlaps(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(all_events_button,0);
-	range_group->addButton(selected_events_button,1);
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	pull_values();
-}
-
-void DelOverlaps::pull_values()
-{
-	range = range_group->checkedId();
-}
-
-void DelOverlaps::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int DelOverlaps::exec()
-{
-	if ((range < 0) || (range > 3)) range=0;
-	
-	range_group->button(range)->setChecked(true);
-	
-	return QDialog::exec();
-}
-
-void DelOverlaps::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else
-					xml.unknown("DelOverlaps");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "del_overlaps")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void DelOverlaps::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "del_overlaps");
-	xml.intTag(level, "range", range);
-	xml.tag(level, "/del_overlaps");
-}
diff --git a/muse2/muse/widgets/deloverlaps.h b/muse2/muse/widgets/deloverlaps.h
deleted file mode 100644
index 813192a6..00000000
--- a/muse2/muse/widgets/deloverlaps.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: deloverlaps.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __DELOVERLAPS_H__
-#define __DELOVERLAPS__H__
-
-#include "ui_deloverlapsbase.h"
-
-class QButtonGroup;
-class Xml;
-
-class DelOverlaps : public QDialog, public Ui::DelOverlapsBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		DelOverlaps(QWidget* parent = 0);
-
-		int range;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-	public slots:
-		int exec();
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/deloverlapsbase.ui b/muse2/muse/widgets/deloverlapsbase.ui
deleted file mode 100644
index 7484bf97..00000000
--- a/muse2/muse/widgets/deloverlapsbase.ui
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DelOverlapsBase</class>
- <widget class="QDialog" name="DelOverlapsBase">
-  <property name="enabled">
-   <bool>true</bool>
-  </property>
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>195</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Delete Overlaps</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="all_events_button">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_events_button">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>DelOverlapsBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>DelOverlapsBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/function_dialogs/crescendo.cpp b/muse2/muse/widgets/function_dialogs/crescendo.cpp
new file mode 100644
index 00000000..ef31c5ef
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/crescendo.cpp
@@ -0,0 +1,112 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: crescendo.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "crescendo.h"
+#include "xml.h"
+
+Crescendo::Crescendo(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	connect(absolute_button, SIGNAL(toggled(bool)), SLOT(absolute_changed(bool)));
+	
+	pull_values();
+}
+
+void Crescendo::pull_values()
+{
+	range = range_group->checkedId();
+	start_val = start_spinbox->value();
+	end_val = end_spinbox->value();
+	absolute = absolute_button->isChecked();
+}
+
+void Crescendo::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int Crescendo::exec()
+{
+	if ((range < 2) || (range > 3)) range=3;
+	
+	range_group->button(range)->setChecked(true);
+	start_spinbox->setValue(start_val);
+	end_spinbox->setValue(end_val);
+	absolute_button->setChecked(absolute);
+	absolute_changed(absolute);
+	
+	return QDialog::exec();
+}
+
+void Crescendo::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else if (tag == "start")
+					start_val=xml.parseInt();
+				else if (tag == "end")
+					end_val=xml.parseInt();
+				else if (tag == "absolute")
+					absolute=xml.parseInt();
+				else
+					xml.unknown("Crescendo");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "crescendo")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Crescendo::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "crescendo");
+	xml.intTag(level, "range", range);
+	xml.intTag(level, "start", start_val);
+	xml.intTag(level, "end", end_val);
+	xml.intTag(level, "absolute", absolute);
+	xml.tag(level, "/crescendo");
+}
+
+void Crescendo::absolute_changed(bool val)
+{
+	if (val)
+	{
+		start_spinbox->setMaximum(127);
+		start_spinbox->setSuffix("");
+		end_spinbox->setMaximum(127);
+		end_spinbox->setSuffix("");
+	}
+	else
+	{
+		start_spinbox->setMaximum(12700);
+		start_spinbox->setSuffix(" %");
+		end_spinbox->setMaximum(12700);
+		end_spinbox->setSuffix(" %");
+	}
+}
diff --git a/muse2/muse/widgets/function_dialogs/crescendo.h b/muse2/muse/widgets/function_dialogs/crescendo.h
new file mode 100644
index 00000000..eb00e94f
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/crescendo.h
@@ -0,0 +1,46 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: crescendo.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __CRESCENDO_H__
+#define __CRESCENDO_H__
+
+#include "ui_crescendobase.h"
+
+class QButtonGroup;
+class Xml;
+
+class Crescendo : public QDialog, public Ui::CrescendoBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		Crescendo(QWidget* parent = 0);
+
+		int range;
+		int start_val;
+		int end_val;
+		bool absolute;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+		
+	public slots:
+		int exec();
+	
+	private slots:
+		void absolute_changed(bool);
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/crescendobase.ui b/muse2/muse/widgets/function_dialogs/crescendobase.ui
new file mode 100644
index 00000000..5f4ec1f4
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/crescendobase.ui
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>CrescendoBase</class>
+ <widget class="QDialog" name="CrescendoBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>293</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Crescendo/Decrescendo</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Values</string>
+     </property>
+     <property name="flat">
+      <bool>false</bool>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QLabel" name="TextLabel3">
+        <property name="text">
+         <string>Start velocity</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="start_spinbox">
+        <property name="suffix">
+         <string> %</string>
+        </property>
+        <property name="minimum">
+         <number>0</number>
+        </property>
+        <property name="maximum">
+         <number>12700</number>
+        </property>
+        <property name="value">
+         <number>80</number>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="label">
+        <property name="text">
+         <string>End velocity</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0">
+       <widget class="QRadioButton" name="absolute_button">
+        <property name="text">
+         <string>Absolute</string>
+        </property>
+        <property name="checked">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="0">
+       <widget class="QRadioButton" name="relative_button">
+        <property name="text">
+         <string>Relative</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QSpinBox" name="end_spinbox">
+        <property name="suffix">
+         <string> %</string>
+        </property>
+        <property name="maximum">
+         <number>12700</number>
+        </property>
+        <property name="value">
+         <number>130</number>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>CrescendoBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>CrescendoBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/deloverlaps.cpp b/muse2/muse/widgets/function_dialogs/deloverlaps.cpp
new file mode 100644
index 00000000..76103d74
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/deloverlaps.cpp
@@ -0,0 +1,79 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: deloverlaps.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "deloverlaps.h"
+#include "xml.h"
+
+
+DelOverlaps::DelOverlaps(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(all_events_button,0);
+	range_group->addButton(selected_events_button,1);
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	pull_values();
+}
+
+void DelOverlaps::pull_values()
+{
+	range = range_group->checkedId();
+}
+
+void DelOverlaps::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int DelOverlaps::exec()
+{
+	if ((range < 0) || (range > 3)) range=0;
+	
+	range_group->button(range)->setChecked(true);
+	
+	return QDialog::exec();
+}
+
+void DelOverlaps::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else
+					xml.unknown("DelOverlaps");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "del_overlaps")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void DelOverlaps::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "del_overlaps");
+	xml.intTag(level, "range", range);
+	xml.tag(level, "/del_overlaps");
+}
diff --git a/muse2/muse/widgets/function_dialogs/deloverlaps.h b/muse2/muse/widgets/function_dialogs/deloverlaps.h
new file mode 100644
index 00000000..813192a6
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/deloverlaps.h
@@ -0,0 +1,39 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: deloverlaps.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __DELOVERLAPS_H__
+#define __DELOVERLAPS__H__
+
+#include "ui_deloverlapsbase.h"
+
+class QButtonGroup;
+class Xml;
+
+class DelOverlaps : public QDialog, public Ui::DelOverlapsBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		DelOverlaps(QWidget* parent = 0);
+
+		int range;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+	public slots:
+		int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui b/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
new file mode 100644
index 00000000..7484bf97
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/deloverlapsbase.ui
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DelOverlapsBase</class>
+ <widget class="QDialog" name="DelOverlapsBase">
+  <property name="enabled">
+   <bool>true</bool>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>195</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Delete Overlaps</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="all_events_button">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_events_button">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>DelOverlapsBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>DelOverlapsBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/move.cpp b/muse2/muse/widgets/function_dialogs/move.cpp
new file mode 100644
index 00000000..2ce6cb05
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/move.cpp
@@ -0,0 +1,84 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: move.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "move.h"
+#include "xml.h"
+
+Move::Move(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(all_events_button,0);
+	range_group->addButton(selected_events_button,1);
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	pull_values();
+}
+
+void Move::pull_values()
+{
+	range = range_group->checkedId();
+	amount = amount_spinbox->value();
+}
+
+void Move::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int Move::exec()
+{
+	if ((range < 0) || (range > 3)) range=0;
+	
+	range_group->button(range)->setChecked(true);
+	amount_spinbox->setValue(amount);
+	
+	return QDialog::exec();
+}
+
+
+void Move::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else if (tag == "amount")
+					amount=xml.parseInt();
+				else
+					xml.unknown("Move");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "move")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Move::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "move");
+	xml.intTag(level, "range", range);
+	xml.intTag(level, "amount", amount);
+	xml.tag(level, "/move");
+}
diff --git a/muse2/muse/widgets/function_dialogs/move.h b/muse2/muse/widgets/function_dialogs/move.h
new file mode 100644
index 00000000..4c90a922
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/move.h
@@ -0,0 +1,41 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: move.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __MOVE_H__
+#define __MOVE_H__
+
+#include "ui_movebase.h"
+
+class QButtonGroup;
+class Xml;
+
+class Move : public QDialog, public Ui::MoveBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		Move(QWidget* parent = 0);
+
+		int range;
+		int amount;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+	
+	public slots:
+		int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/movebase.ui b/muse2/muse/widgets/function_dialogs/movebase.ui
new file mode 100644
index 00000000..a8825dd5
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/movebase.ui
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MoveBase</class>
+ <widget class="QDialog" name="MoveBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>264</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Move Notes</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="all_events_button">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_events_button">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Value</string>
+     </property>
+     <property name="flat">
+      <bool>false</bool>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QLabel" name="TextLabel3">
+        <property name="text">
+         <string>Move by</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="amount_spinbox">
+        <property name="accelerated">
+         <bool>true</bool>
+        </property>
+        <property name="suffix">
+         <string> ticks</string>
+        </property>
+        <property name="minimum">
+         <number>-9999999</number>
+        </property>
+        <property name="maximum">
+         <number>9999999</number>
+        </property>
+        <property name="singleStep">
+         <number>386</number>
+        </property>
+        <property name="value">
+         <number>0</number>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>MoveBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>MoveBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/remove.cpp b/muse2/muse/widgets/function_dialogs/remove.cpp
new file mode 100644
index 00000000..5ad272ab
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/remove.cpp
@@ -0,0 +1,78 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: remove.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "remove.h"
+#include "xml.h"
+
+Remove::Remove(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(all_events_button,0);
+	range_group->addButton(selected_events_button,1);
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	pull_values();
+}
+
+void Remove::pull_values()
+{
+	range = range_group->checkedId();
+}
+
+void Remove::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int Remove::exec()
+{
+	if ((range < 0) || (range > 3)) range=0;
+	
+	range_group->button(range)->setChecked(true);
+	
+	return QDialog::exec();
+}
+
+void Remove::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else
+					xml.unknown("Erase");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "erase")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Remove::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "erase");
+	xml.intTag(level, "range", range);
+	xml.tag(level, "/erase");
+}
diff --git a/muse2/muse/widgets/function_dialogs/remove.h b/muse2/muse/widgets/function_dialogs/remove.h
new file mode 100644
index 00000000..5615ed42
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/remove.h
@@ -0,0 +1,40 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: remove.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __REMOVE_H__
+#define __REMOVE_H__
+
+#include "ui_removebase.h"
+
+class QButtonGroup;
+class Xml;
+
+class Remove : public QDialog, public Ui::RemoveBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		Remove(QWidget* parent = 0);
+
+		int range;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+		
+	public slots:
+		int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/removebase.ui b/muse2/muse/widgets/function_dialogs/removebase.ui
new file mode 100644
index 00000000..3381795c
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/removebase.ui
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>RemoveBase</class>
+ <widget class="QDialog" name="RemoveBase">
+  <property name="enabled">
+   <bool>true</bool>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>195</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Erase Notes</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="all_events_button">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_events_button">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>RemoveBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>RemoveBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/setlen.cpp b/muse2/muse/widgets/function_dialogs/setlen.cpp
new file mode 100644
index 00000000..024cdd35
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/setlen.cpp
@@ -0,0 +1,83 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: setlen.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "setlen.h"
+#include "xml.h"
+
+Setlen::Setlen(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(all_events_button,0);
+	range_group->addButton(selected_events_button,1);
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	pull_values();
+}
+
+void Setlen::pull_values()
+{
+	range = range_group->checkedId();
+	len = len_spinbox->value();
+}
+
+void Setlen::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int Setlen::exec()
+{
+	if ((range < 0) || (range > 3)) range=0;
+	
+	range_group->button(range)->setChecked(true);
+	len_spinbox->setValue(len);
+	
+	return QDialog::exec();
+}
+
+void Setlen::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else if (tag == "len")
+					len=xml.parseInt();
+				else
+					xml.unknown("SetLen");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "setlen")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Setlen::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "setlen");
+	xml.intTag(level, "range", range);
+	xml.intTag(level, "len", len);
+	xml.tag(level, "/setlen");
+}
diff --git a/muse2/muse/widgets/function_dialogs/setlen.h b/muse2/muse/widgets/function_dialogs/setlen.h
new file mode 100644
index 00000000..ad66a38b
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/setlen.h
@@ -0,0 +1,41 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: setlen.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __SETLEN_H__
+#define __SETLEN_H__
+
+#include "ui_setlenbase.h"
+
+class QButtonGroup;
+class Xml;
+
+class Setlen : public QDialog, public Ui::SetlenBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		Setlen(QWidget* parent = 0);
+
+		int range;
+		int len;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+		
+	public slots:
+		int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/setlenbase.ui b/muse2/muse/widgets/function_dialogs/setlenbase.ui
new file mode 100644
index 00000000..7d929716
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/setlenbase.ui
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SetlenBase</class>
+ <widget class="QDialog" name="SetlenBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>264</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Set Note Length</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="all_events_button">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_events_button">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Value</string>
+     </property>
+     <property name="flat">
+      <bool>false</bool>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QLabel" name="TextLabel3">
+        <property name="text">
+         <string>New length</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="len_spinbox">
+        <property name="suffix">
+         <string> ticks</string>
+        </property>
+        <property name="minimum">
+         <number>1</number>
+        </property>
+        <property name="maximum">
+         <number>10000</number>
+        </property>
+        <property name="value">
+         <number>1</number>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>SetlenBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>SetlenBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/transpose.cpp b/muse2/muse/widgets/function_dialogs/transpose.cpp
new file mode 100644
index 00000000..b10c1249
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/transpose.cpp
@@ -0,0 +1,83 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: transpose.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#include <QButtonGroup>
+#include "transpose.h"
+#include "xml.h"
+
+Transpose::Transpose(QWidget* parent)
+	: QDialog(parent)
+{
+	setupUi(this);
+	range_group = new QButtonGroup;
+	range_group->addButton(all_events_button,0);
+	range_group->addButton(selected_events_button,1);
+	range_group->addButton(looped_events_button,2);
+	range_group->addButton(selected_looped_button,3);
+	
+	pull_values();
+}
+
+void Transpose::pull_values()
+{
+	range = range_group->checkedId();
+	amount = amount_spinbox->value();
+}
+
+void Transpose::accept()
+{
+	pull_values();
+	QDialog::accept();
+}
+
+int Transpose::exec()
+{
+	if ((range < 0) || (range > 3)) range=0;
+	
+	range_group->button(range)->setChecked(true);
+	amount_spinbox->setValue(amount);
+	
+	return QDialog::exec();
+}
+
+void Transpose::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else if (tag == "amount")
+					amount=xml.parseInt();
+				else
+					xml.unknown("Transpose");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "transpose")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Transpose::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "transpose");
+	xml.intTag(level, "range", range);
+	xml.intTag(level, "amount", amount);
+	xml.tag(level, "/transpose");
+}
diff --git a/muse2/muse/widgets/function_dialogs/transpose.h b/muse2/muse/widgets/function_dialogs/transpose.h
new file mode 100644
index 00000000..97dd443e
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/transpose.h
@@ -0,0 +1,41 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: transpose.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
+//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
+//=========================================================
+
+#ifndef __TRANSPOSE_H__
+#define __TRANSPOSE_H__
+
+#include "ui_transposebase.h"
+
+class QButtonGroup;
+class Xml;
+
+class Transpose : public QDialog, public Ui::TransposeBase
+{
+	private:
+		Q_OBJECT
+		QButtonGroup* range_group;
+		
+	protected slots:
+		void accept();
+		void pull_values();
+
+	public:
+		Transpose(QWidget* parent = 0);
+
+		int range;
+		int amount;
+		
+		void read_configuration(Xml& xml);
+		void write_configuration(int level, Xml& xml);
+		
+		
+	public slots:
+		int exec();
+};
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/transposebase.ui b/muse2/muse/widgets/function_dialogs/transposebase.ui
new file mode 100644
index 00000000..c26f2ef9
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/transposebase.ui
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>TransposeBase</class>
+ <widget class="QDialog" name="TransposeBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>264</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Transpose</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="all_events_button">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_events_button">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="looped_events_button">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selected_looped_button">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Value</string>
+     </property>
+     <property name="flat">
+      <bool>false</bool>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QLabel" name="TextLabel3">
+        <property name="text">
+         <string>Halftone-steps</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="amount_spinbox">
+        <property name="accelerated">
+         <bool>true</bool>
+        </property>
+        <property name="suffix">
+         <string/>
+        </property>
+        <property name="minimum">
+         <number>-127</number>
+        </property>
+        <property name="maximum">
+         <number>127</number>
+        </property>
+        <property name="singleStep">
+         <number>1</number>
+        </property>
+        <property name="value">
+         <number>0</number>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>TransposeBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>TransposeBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/function_dialogs/velocity.cpp b/muse2/muse/widgets/function_dialogs/velocity.cpp
new file mode 100644
index 00000000..ec625489
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/velocity.cpp
@@ -0,0 +1,102 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: velocity.cpp,v 1.1.1.1 2003/10/27 18:55:04 wschweer Exp $
+//  (C) Copyright 2001 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#include <QButtonGroup>
+#include "velocity.h"
+#include "xml.h"
+
+//---------------------------------------------------------
+//   Velocity
+//---------------------------------------------------------
+
+Velocity::Velocity(QWidget* parent)
+   : QDialog(parent)
+      {
+      setupUi(this);
+      rangeGroup = new QButtonGroup;
+      rangeGroup->addButton(allEvents,0);
+      rangeGroup->addButton(selectedEvents,1);
+      rangeGroup->addButton(loopedEvents,2);
+      rangeGroup->addButton(selectedLooped,3);
+      
+      pullValues();
+      }
+
+//---------------------------------------------------------
+//   accept
+//---------------------------------------------------------
+
+void Velocity::accept()
+      {
+      pullValues();
+      QDialog::accept();
+      }
+
+//---------------------------------------------------------
+//   pullValues
+//---------------------------------------------------------
+
+void Velocity::pullValues()
+      {
+      range     = rangeGroup->checkedId();
+      rateVal   = rate->value();
+      offsetVal = offset->value();
+      }
+
+//---------------------------------------------------------
+//   exec
+//---------------------------------------------------------
+
+int Velocity::exec()
+      {
+      rangeGroup->button(range)->setChecked(true);
+      rate->setValue(rateVal);
+      offset->setValue(offsetVal);
+      
+      return QDialog::exec();
+      }
+
+void Velocity::read_configuration(Xml& xml)
+{
+	for (;;)
+	{
+		Xml::Token token = xml.parse();
+		if (token == Xml::Error || token == Xml::End)
+			break;
+			
+		const QString& tag = xml.s1();
+		switch (token)
+		{
+			case Xml::TagStart:
+				if (tag == "range")
+					range=xml.parseInt();
+				else if (tag == "rate")
+					rateVal=xml.parseInt();
+				else if (tag == "offset")
+					offsetVal=xml.parseInt();
+				else
+					xml.unknown("ModVelo");
+				break;
+				
+			case Xml::TagEnd:
+				if (tag == "mod_velo")
+					return;
+				
+			default:
+				break;
+		}
+	}
+}
+
+void Velocity::write_configuration(int level, Xml& xml)
+{
+	xml.tag(level++, "mod_velo");
+	xml.intTag(level, "range", range);
+	xml.intTag(level, "offset", offsetVal);
+	xml.intTag(level, "rate", rateVal);
+	xml.tag(level, "/mod_velo");
+}
diff --git a/muse2/muse/widgets/function_dialogs/velocity.h b/muse2/muse/widgets/function_dialogs/velocity.h
new file mode 100644
index 00000000..cbea4e22
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/velocity.h
@@ -0,0 +1,45 @@
+//=========================================================
+//  MusE
+//  Linux Music Editor
+//    $Id: velocity.h,v 1.1.1.1 2003/10/27 18:54:51 wschweer Exp $
+//  (C) Copyright 2001 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#ifndef __VELOCITY_H__
+#define __VELOCITY_H__
+
+#include "ui_velocitybase.h"
+
+class QButtonGroup;
+class Xml;
+
+//---------------------------------------------------------
+//   Velocity
+//---------------------------------------------------------
+
+class Velocity : public QDialog, public Ui::VelocityBase {
+   private:
+      Q_OBJECT
+      QButtonGroup* rangeGroup;
+
+   protected slots:
+      void accept();
+      void pullValues();
+
+   public:
+      Velocity(QWidget* parent = 0);
+
+      int range;
+      int rateVal;
+      int offsetVal;
+      
+      void read_configuration(Xml& xml);
+      void write_configuration(int level, Xml& xml);
+      
+      
+   public slots:
+      int exec();
+      };
+
+#endif
+
diff --git a/muse2/muse/widgets/function_dialogs/velocitybase.ui b/muse2/muse/widgets/function_dialogs/velocitybase.ui
new file mode 100644
index 00000000..40fe625f
--- /dev/null
+++ b/muse2/muse/widgets/function_dialogs/velocitybase.ui
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>VelocityBase</class>
+ <widget class="QDialog" name="VelocityBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>275</width>
+    <height>316</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MusE: Modify Velocity</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeBox">
+     <property name="title">
+      <string>Range</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <item>
+       <widget class="QRadioButton" name="allEvents">
+        <property name="text">
+         <string>All Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selectedEvents">
+        <property name="text">
+         <string>Selected Events</string>
+        </property>
+        <property name="checked">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="loopedEvents">
+        <property name="text">
+         <string>Looped Events</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QRadioButton" name="selectedLooped">
+        <property name="text">
+         <string>Selected Looped</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="title">
+      <string>Values</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="margin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QLabel" name="TextLabel3">
+        <property name="text">
+         <string>Rate:</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="rate">
+        <property name="suffix">
+         <string>%</string>
+        </property>
+        <property name="maximum">
+         <number>200</number>
+        </property>
+        <property name="value">
+         <number>100</number>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="TextLabel4">
+        <property name="text">
+         <string>Offset:</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QSpinBox" name="offset">
+        <property name="minimum">
+         <number>-127</number>
+        </property>
+        <property name="maximum">
+         <number>127</number>
+        </property>
+        <property name="singleStep">
+         <number>1</number>
+        </property>
+        <property name="value">
+         <number>0</number>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0" colspan="2">
+       <widget class="QLabel" name="label">
+        <property name="text">
+         <string>veloNew = (veloOld * rate) + offset</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item>
+      <spacer name="Spacer1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>OK</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>VelocityBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>VelocityBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>20</x>
+     <y>20</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/muse2/muse/widgets/move.cpp b/muse2/muse/widgets/move.cpp
deleted file mode 100644
index 2ce6cb05..00000000
--- a/muse2/muse/widgets/move.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: move.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "move.h"
-#include "xml.h"
-
-Move::Move(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(all_events_button,0);
-	range_group->addButton(selected_events_button,1);
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	pull_values();
-}
-
-void Move::pull_values()
-{
-	range = range_group->checkedId();
-	amount = amount_spinbox->value();
-}
-
-void Move::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int Move::exec()
-{
-	if ((range < 0) || (range > 3)) range=0;
-	
-	range_group->button(range)->setChecked(true);
-	amount_spinbox->setValue(amount);
-	
-	return QDialog::exec();
-}
-
-
-void Move::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else if (tag == "amount")
-					amount=xml.parseInt();
-				else
-					xml.unknown("Move");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "move")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Move::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "move");
-	xml.intTag(level, "range", range);
-	xml.intTag(level, "amount", amount);
-	xml.tag(level, "/move");
-}
diff --git a/muse2/muse/widgets/move.h b/muse2/muse/widgets/move.h
deleted file mode 100644
index 4c90a922..00000000
--- a/muse2/muse/widgets/move.h
+++ /dev/null
@@ -1,41 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: move.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __MOVE_H__
-#define __MOVE_H__
-
-#include "ui_movebase.h"
-
-class QButtonGroup;
-class Xml;
-
-class Move : public QDialog, public Ui::MoveBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		Move(QWidget* parent = 0);
-
-		int range;
-		int amount;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-	
-	public slots:
-		int exec();
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/movebase.ui b/muse2/muse/widgets/movebase.ui
deleted file mode 100644
index a8825dd5..00000000
--- a/muse2/muse/widgets/movebase.ui
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MoveBase</class>
- <widget class="QDialog" name="MoveBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>264</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Move Notes</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="all_events_button">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_events_button">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="title">
-      <string>Value</string>
-     </property>
-     <property name="flat">
-      <bool>false</bool>
-     </property>
-     <property name="checkable">
-      <bool>false</bool>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="TextLabel3">
-        <property name="text">
-         <string>Move by</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QSpinBox" name="amount_spinbox">
-        <property name="accelerated">
-         <bool>true</bool>
-        </property>
-        <property name="suffix">
-         <string> ticks</string>
-        </property>
-        <property name="minimum">
-         <number>-9999999</number>
-        </property>
-        <property name="maximum">
-         <number>9999999</number>
-        </property>
-        <property name="singleStep">
-         <number>386</number>
-        </property>
-        <property name="value">
-         <number>0</number>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>MoveBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>MoveBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/remove.cpp b/muse2/muse/widgets/remove.cpp
deleted file mode 100644
index 5ad272ab..00000000
--- a/muse2/muse/widgets/remove.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: remove.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "remove.h"
-#include "xml.h"
-
-Remove::Remove(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(all_events_button,0);
-	range_group->addButton(selected_events_button,1);
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	pull_values();
-}
-
-void Remove::pull_values()
-{
-	range = range_group->checkedId();
-}
-
-void Remove::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int Remove::exec()
-{
-	if ((range < 0) || (range > 3)) range=0;
-	
-	range_group->button(range)->setChecked(true);
-	
-	return QDialog::exec();
-}
-
-void Remove::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else
-					xml.unknown("Erase");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "erase")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Remove::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "erase");
-	xml.intTag(level, "range", range);
-	xml.tag(level, "/erase");
-}
diff --git a/muse2/muse/widgets/remove.h b/muse2/muse/widgets/remove.h
deleted file mode 100644
index 5615ed42..00000000
--- a/muse2/muse/widgets/remove.h
+++ /dev/null
@@ -1,40 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: remove.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __REMOVE_H__
-#define __REMOVE_H__
-
-#include "ui_removebase.h"
-
-class QButtonGroup;
-class Xml;
-
-class Remove : public QDialog, public Ui::RemoveBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		Remove(QWidget* parent = 0);
-
-		int range;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-		
-	public slots:
-		int exec();
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/removebase.ui b/muse2/muse/widgets/removebase.ui
deleted file mode 100644
index 3381795c..00000000
--- a/muse2/muse/widgets/removebase.ui
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>RemoveBase</class>
- <widget class="QDialog" name="RemoveBase">
-  <property name="enabled">
-   <bool>true</bool>
-  </property>
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>195</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Erase Notes</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="all_events_button">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_events_button">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>RemoveBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>RemoveBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/setlen.cpp b/muse2/muse/widgets/setlen.cpp
deleted file mode 100644
index 024cdd35..00000000
--- a/muse2/muse/widgets/setlen.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: setlen.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "setlen.h"
-#include "xml.h"
-
-Setlen::Setlen(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(all_events_button,0);
-	range_group->addButton(selected_events_button,1);
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	pull_values();
-}
-
-void Setlen::pull_values()
-{
-	range = range_group->checkedId();
-	len = len_spinbox->value();
-}
-
-void Setlen::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int Setlen::exec()
-{
-	if ((range < 0) || (range > 3)) range=0;
-	
-	range_group->button(range)->setChecked(true);
-	len_spinbox->setValue(len);
-	
-	return QDialog::exec();
-}
-
-void Setlen::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else if (tag == "len")
-					len=xml.parseInt();
-				else
-					xml.unknown("SetLen");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "setlen")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Setlen::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "setlen");
-	xml.intTag(level, "range", range);
-	xml.intTag(level, "len", len);
-	xml.tag(level, "/setlen");
-}
diff --git a/muse2/muse/widgets/setlen.h b/muse2/muse/widgets/setlen.h
deleted file mode 100644
index ad66a38b..00000000
--- a/muse2/muse/widgets/setlen.h
+++ /dev/null
@@ -1,41 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: setlen.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __SETLEN_H__
-#define __SETLEN_H__
-
-#include "ui_setlenbase.h"
-
-class QButtonGroup;
-class Xml;
-
-class Setlen : public QDialog, public Ui::SetlenBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		Setlen(QWidget* parent = 0);
-
-		int range;
-		int len;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-		
-	public slots:
-		int exec();
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/setlenbase.ui b/muse2/muse/widgets/setlenbase.ui
deleted file mode 100644
index 7d929716..00000000
--- a/muse2/muse/widgets/setlenbase.ui
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SetlenBase</class>
- <widget class="QDialog" name="SetlenBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>264</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Set Note Length</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="all_events_button">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_events_button">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="title">
-      <string>Value</string>
-     </property>
-     <property name="flat">
-      <bool>false</bool>
-     </property>
-     <property name="checkable">
-      <bool>false</bool>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="TextLabel3">
-        <property name="text">
-         <string>New length</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QSpinBox" name="len_spinbox">
-        <property name="suffix">
-         <string> ticks</string>
-        </property>
-        <property name="minimum">
-         <number>1</number>
-        </property>
-        <property name="maximum">
-         <number>10000</number>
-        </property>
-        <property name="value">
-         <number>1</number>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>SetlenBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>SetlenBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/transpose.cpp b/muse2/muse/widgets/transpose.cpp
deleted file mode 100644
index b10c1249..00000000
--- a/muse2/muse/widgets/transpose.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: transpose.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#include <QButtonGroup>
-#include "transpose.h"
-#include "xml.h"
-
-Transpose::Transpose(QWidget* parent)
-	: QDialog(parent)
-{
-	setupUi(this);
-	range_group = new QButtonGroup;
-	range_group->addButton(all_events_button,0);
-	range_group->addButton(selected_events_button,1);
-	range_group->addButton(looped_events_button,2);
-	range_group->addButton(selected_looped_button,3);
-	
-	pull_values();
-}
-
-void Transpose::pull_values()
-{
-	range = range_group->checkedId();
-	amount = amount_spinbox->value();
-}
-
-void Transpose::accept()
-{
-	pull_values();
-	QDialog::accept();
-}
-
-int Transpose::exec()
-{
-	if ((range < 0) || (range > 3)) range=0;
-	
-	range_group->button(range)->setChecked(true);
-	amount_spinbox->setValue(amount);
-	
-	return QDialog::exec();
-}
-
-void Transpose::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else if (tag == "amount")
-					amount=xml.parseInt();
-				else
-					xml.unknown("Transpose");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "transpose")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Transpose::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "transpose");
-	xml.intTag(level, "range", range);
-	xml.intTag(level, "amount", amount);
-	xml.tag(level, "/transpose");
-}
diff --git a/muse2/muse/widgets/transpose.h b/muse2/muse/widgets/transpose.h
deleted file mode 100644
index 97dd443e..00000000
--- a/muse2/muse/widgets/transpose.h
+++ /dev/null
@@ -1,41 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: transpose.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $
-//  (C) Copyright 2011 Florian Jung (flo93@sourceforge.net)
-//=========================================================
-
-#ifndef __TRANSPOSE_H__
-#define __TRANSPOSE_H__
-
-#include "ui_transposebase.h"
-
-class QButtonGroup;
-class Xml;
-
-class Transpose : public QDialog, public Ui::TransposeBase
-{
-	private:
-		Q_OBJECT
-		QButtonGroup* range_group;
-		
-	protected slots:
-		void accept();
-		void pull_values();
-
-	public:
-		Transpose(QWidget* parent = 0);
-
-		int range;
-		int amount;
-		
-		void read_configuration(Xml& xml);
-		void write_configuration(int level, Xml& xml);
-		
-		
-	public slots:
-		int exec();
-};
-
-#endif
-
diff --git a/muse2/muse/widgets/transposebase.ui b/muse2/muse/widgets/transposebase.ui
deleted file mode 100644
index c26f2ef9..00000000
--- a/muse2/muse/widgets/transposebase.ui
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>TransposeBase</class>
- <widget class="QDialog" name="TransposeBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>264</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Transpose</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="all_events_button">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_events_button">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="looped_events_button">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selected_looped_button">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="title">
-      <string>Value</string>
-     </property>
-     <property name="flat">
-      <bool>false</bool>
-     </property>
-     <property name="checkable">
-      <bool>false</bool>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="TextLabel3">
-        <property name="text">
-         <string>Halftone-steps</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QSpinBox" name="amount_spinbox">
-        <property name="accelerated">
-         <bool>true</bool>
-        </property>
-        <property name="suffix">
-         <string/>
-        </property>
-        <property name="minimum">
-         <number>-127</number>
-        </property>
-        <property name="maximum">
-         <number>127</number>
-        </property>
-        <property name="singleStep">
-         <number>1</number>
-        </property>
-        <property name="value">
-         <number>0</number>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>TransposeBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>TransposeBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/muse2/muse/widgets/velocity.cpp b/muse2/muse/widgets/velocity.cpp
deleted file mode 100644
index ec625489..00000000
--- a/muse2/muse/widgets/velocity.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: velocity.cpp,v 1.1.1.1 2003/10/27 18:55:04 wschweer Exp $
-//  (C) Copyright 2001 Werner Schweer (ws@seh.de)
-//=========================================================
-
-#include <QButtonGroup>
-#include "velocity.h"
-#include "xml.h"
-
-//---------------------------------------------------------
-//   Velocity
-//---------------------------------------------------------
-
-Velocity::Velocity(QWidget* parent)
-   : QDialog(parent)
-      {
-      setupUi(this);
-      rangeGroup = new QButtonGroup;
-      rangeGroup->addButton(allEvents,0);
-      rangeGroup->addButton(selectedEvents,1);
-      rangeGroup->addButton(loopedEvents,2);
-      rangeGroup->addButton(selectedLooped,3);
-      
-      pullValues();
-      }
-
-//---------------------------------------------------------
-//   accept
-//---------------------------------------------------------
-
-void Velocity::accept()
-      {
-      pullValues();
-      QDialog::accept();
-      }
-
-//---------------------------------------------------------
-//   pullValues
-//---------------------------------------------------------
-
-void Velocity::pullValues()
-      {
-      range     = rangeGroup->checkedId();
-      rateVal   = rate->value();
-      offsetVal = offset->value();
-      }
-
-//---------------------------------------------------------
-//   exec
-//---------------------------------------------------------
-
-int Velocity::exec()
-      {
-      rangeGroup->button(range)->setChecked(true);
-      rate->setValue(rateVal);
-      offset->setValue(offsetVal);
-      
-      return QDialog::exec();
-      }
-
-void Velocity::read_configuration(Xml& xml)
-{
-	for (;;)
-	{
-		Xml::Token token = xml.parse();
-		if (token == Xml::Error || token == Xml::End)
-			break;
-			
-		const QString& tag = xml.s1();
-		switch (token)
-		{
-			case Xml::TagStart:
-				if (tag == "range")
-					range=xml.parseInt();
-				else if (tag == "rate")
-					rateVal=xml.parseInt();
-				else if (tag == "offset")
-					offsetVal=xml.parseInt();
-				else
-					xml.unknown("ModVelo");
-				break;
-				
-			case Xml::TagEnd:
-				if (tag == "mod_velo")
-					return;
-				
-			default:
-				break;
-		}
-	}
-}
-
-void Velocity::write_configuration(int level, Xml& xml)
-{
-	xml.tag(level++, "mod_velo");
-	xml.intTag(level, "range", range);
-	xml.intTag(level, "offset", offsetVal);
-	xml.intTag(level, "rate", rateVal);
-	xml.tag(level, "/mod_velo");
-}
diff --git a/muse2/muse/widgets/velocity.h b/muse2/muse/widgets/velocity.h
deleted file mode 100644
index cbea4e22..00000000
--- a/muse2/muse/widgets/velocity.h
+++ /dev/null
@@ -1,45 +0,0 @@
-//=========================================================
-//  MusE
-//  Linux Music Editor
-//    $Id: velocity.h,v 1.1.1.1 2003/10/27 18:54:51 wschweer Exp $
-//  (C) Copyright 2001 Werner Schweer (ws@seh.de)
-//=========================================================
-
-#ifndef __VELOCITY_H__
-#define __VELOCITY_H__
-
-#include "ui_velocitybase.h"
-
-class QButtonGroup;
-class Xml;
-
-//---------------------------------------------------------
-//   Velocity
-//---------------------------------------------------------
-
-class Velocity : public QDialog, public Ui::VelocityBase {
-   private:
-      Q_OBJECT
-      QButtonGroup* rangeGroup;
-
-   protected slots:
-      void accept();
-      void pullValues();
-
-   public:
-      Velocity(QWidget* parent = 0);
-
-      int range;
-      int rateVal;
-      int offsetVal;
-      
-      void read_configuration(Xml& xml);
-      void write_configuration(int level, Xml& xml);
-      
-      
-   public slots:
-      int exec();
-      };
-
-#endif
-
diff --git a/muse2/muse/widgets/velocitybase.ui b/muse2/muse/widgets/velocitybase.ui
deleted file mode 100644
index 40fe625f..00000000
--- a/muse2/muse/widgets/velocitybase.ui
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>VelocityBase</class>
- <widget class="QDialog" name="VelocityBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>275</width>
-    <height>316</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MusE: Modify Velocity</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeBox">
-     <property name="title">
-      <string>Range</string>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <item>
-       <widget class="QRadioButton" name="allEvents">
-        <property name="text">
-         <string>All Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selectedEvents">
-        <property name="text">
-         <string>Selected Events</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="loopedEvents">
-        <property name="text">
-         <string>Looped Events</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="selectedLooped">
-        <property name="text">
-         <string>Selected Looped</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="title">
-      <string>Values</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="TextLabel3">
-        <property name="text">
-         <string>Rate:</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QSpinBox" name="rate">
-        <property name="suffix">
-         <string>%</string>
-        </property>
-        <property name="maximum">
-         <number>200</number>
-        </property>
-        <property name="value">
-         <number>100</number>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="TextLabel4">
-        <property name="text">
-         <string>Offset:</string>
-        </property>
-        <property name="wordWrap">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QSpinBox" name="offset">
-        <property name="minimum">
-         <number>-127</number>
-        </property>
-        <property name="maximum">
-         <number>127</number>
-        </property>
-        <property name="singleStep">
-         <number>1</number>
-        </property>
-        <property name="value">
-         <number>0</number>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0" colspan="2">
-       <widget class="QLabel" name="label">
-        <property name="text">
-         <string>veloNew = (veloOld * rate) + offset</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item>
-      <spacer name="Spacer1">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>VelocityBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>VelocityBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>20</x>
-     <y>20</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
-- 
cgit v1.2.3