--- a
+++ b/branches/tablature_patch/src/commands/tablature/AddTablatureTuningCommand.cpp
@@ -0,0 +1,83 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+    Rosegarden
+    A MIDI and audio sequencer and musical notation editor.
+ 
+    This program is Copyright 2000-2007
+        Guillaume Laurent   <glaurent@telegraph-road.org>,
+        Chris Cannam        <cannam@all-day-breakfast.com>,
+        Richard Bown        <richard.bown@ferventsoftware.com>
+ 
+    The moral rights of Guillaume Laurent, Chris Cannam, and Richard
+    Bown to claim authorship of this work have been asserted.
+ 
+    Other copyrights also apply to some parts of this work.  Please
+    see the AUTHORS file and individual file headers for details.
+ 
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License as
+    published by the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.  See the file
+    COPYING included with this distribution for more information.
+*/
+
+
+#include "AddTablatureTuningCommand.h"
+
+#include "misc/Debug.h"
+#include "base/Composition.h"
+//#include "base/MidiProgram.h"
+//#include "base/Track.h"
+#include "base/TablatureTuning.h"
+
+#include <qstring.h>
+
+
+namespace Rosegarden
+{
+
+AddTablatureTuningCommand::AddTablatureTuningCommand(Composition *composition,
+					TablatureTuning *tabTuning):
+        KNamedCommand(getGlobalName()),
+        m_composition(composition),
+        m_tabTuning(tabTuning),
+        m_detached(false)
+
+{
+}
+
+
+AddTablatureTuningCommand::~AddTablatureTuningCommand()
+{
+    if (m_detached) {
+		delete m_tabTuning;
+    }
+}
+
+
+void AddTablatureTuningCommand::execute()
+{
+    if (!m_tabTuning) {
+        // Create and insert TablatureTuning
+        //
+        m_tabTuning = new TablatureTuning();
+
+    } else {
+        m_composition->addTablatureTuning(m_tabTuning);
+    }
+
+    m_detached = false;
+
+}
+
+
+void AddTablatureTuningCommand::unexecute()
+{
+    m_composition->detachTablatureTuning(m_tabTuning);
+    m_detached = true;
+
+}
+
+
+}