move mode/scale/key definitions out of push2 code and into libardour; Aeolian is...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 28 Sep 2016 15:47:10 +0000 (10:47 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 28 Sep 2016 15:47:17 +0000 (10:47 -0500)
libs/ardour/ardour/mode.h [new file with mode: 0644]
libs/ardour/enums.cc
libs/ardour/mode.cc [new file with mode: 0644]
libs/ardour/wscript
libs/surfaces/push2/gui.h
libs/surfaces/push2/mode.cc [deleted file]
libs/surfaces/push2/mode.h [deleted file]
libs/surfaces/push2/push2.cc
libs/surfaces/push2/push2.h
libs/surfaces/push2/scale.cc
libs/surfaces/push2/wscript

diff --git a/libs/ardour/ardour/mode.h b/libs/ardour/ardour/mode.h
new file mode 100644 (file)
index 0000000..7f1d5e0
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+    Copyright (C) 1999-2016 Paul Davis
+
+    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.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef __ardour_mode_h__
+#define __ardour_mode_h__
+
+#include <vector>
+
+class MusicalMode
+{
+  public:
+       enum Type {
+               Dorian,
+               IonianMajor,
+               AeolianMinor,
+               HarmonicMinor,
+               MelodicMinorAscending,
+               MelodicMinorDescending,
+               Phrygian,
+               Lydian,
+               Mixolydian,
+               Locrian,
+               PentatonicMajor,
+               PentatonicMinor,
+               Chromatic,
+               BluesScale,
+               NeapolitanMinor,
+               NeapolitanMajor,
+               Oriental,
+               DoubleHarmonic,
+               Enigmatic,
+               Hirajoshi,
+               HungarianMinor,
+               HungarianMajor,
+               Kumoi,
+               Iwato,
+               Hindu,
+               Spanish8Tone,
+               Pelog,
+               HungarianGypsy,
+               Overtone,
+               LeadingWholeTone,
+               Arabian,
+               Balinese,
+               Gypsy,
+               Mohammedan,
+               Javanese,
+               Persian,
+               Algerian
+       };
+
+       MusicalMode (Type t);
+       ~MusicalMode ();
+
+       std::vector<float> steps;
+
+  private:
+       static void fill (MusicalMode&, Type);
+};
+
+#endif /* __ardour_mode_h__ */
index be468c2534990f897b25e2b6f73bbf0abaf70801..ad5dc5e6a7a3d2195c24a0eccaeb11ac35c0d2e2 100644 (file)
@@ -31,6 +31,7 @@
 #include "ardour/io.h"
 #include "ardour/location.h"
 #include "ardour/midi_model.h"
 #include "ardour/io.h"
 #include "ardour/location.h"
 #include "ardour/midi_model.h"
+#include "ardour/mode.h"
 #include "ardour/mute_master.h"
 #include "ardour/presentation_info.h"
 #include "ardour/session.h"
 #include "ardour/mute_master.h"
 #include "ardour/presentation_info.h"
 #include "ardour/session.h"
@@ -134,6 +135,7 @@ setup_enum_writer ()
         BufferingPreset _BufferingPreset;
        AutoReturnTarget _AutoReturnTarget;
        PresentationInfo::Flag _PresentationInfo_Flag;
         BufferingPreset _BufferingPreset;
        AutoReturnTarget _AutoReturnTarget;
        PresentationInfo::Flag _PresentationInfo_Flag;
+       MusicalMode::Type mode;
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
@@ -715,6 +717,45 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (PresentationInfo, Hidden);
        REGISTER_CLASS_ENUM (PresentationInfo, OrderSet);
        REGISTER_BITS (_PresentationInfo_Flag);
        REGISTER_CLASS_ENUM (PresentationInfo, Hidden);
        REGISTER_CLASS_ENUM (PresentationInfo, OrderSet);
        REGISTER_BITS (_PresentationInfo_Flag);
+
+       REGISTER_CLASS_ENUM (MusicalMode,Dorian);
+       REGISTER_CLASS_ENUM (MusicalMode, IonianMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, AeolianMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, HarmonicMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorAscending);
+       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorDescending);
+       REGISTER_CLASS_ENUM (MusicalMode, Phrygian);
+       REGISTER_CLASS_ENUM (MusicalMode, Lydian);
+       REGISTER_CLASS_ENUM (MusicalMode, Mixolydian);
+       REGISTER_CLASS_ENUM (MusicalMode, Locrian);
+       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, Chromatic);
+       REGISTER_CLASS_ENUM (MusicalMode, BluesScale);
+       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, Oriental);
+       REGISTER_CLASS_ENUM (MusicalMode, DoubleHarmonic);
+       REGISTER_CLASS_ENUM (MusicalMode, Enigmatic);
+       REGISTER_CLASS_ENUM (MusicalMode, Hirajoshi);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, Kumoi);
+       REGISTER_CLASS_ENUM (MusicalMode, Iwato);
+       REGISTER_CLASS_ENUM (MusicalMode, Hindu);
+       REGISTER_CLASS_ENUM (MusicalMode, Spanish8Tone);
+       REGISTER_CLASS_ENUM (MusicalMode, Pelog);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianGypsy);
+       REGISTER_CLASS_ENUM (MusicalMode, Overtone);
+       REGISTER_CLASS_ENUM (MusicalMode, LeadingWholeTone);
+       REGISTER_CLASS_ENUM (MusicalMode, Arabian);
+       REGISTER_CLASS_ENUM (MusicalMode, Balinese);
+       REGISTER_CLASS_ENUM (MusicalMode, Gypsy);
+       REGISTER_CLASS_ENUM (MusicalMode, Mohammedan);
+       REGISTER_CLASS_ENUM (MusicalMode, Javanese);
+       REGISTER_CLASS_ENUM (MusicalMode, Persian);
+       REGISTER_CLASS_ENUM (MusicalMode, Algerian);
+       REGISTER (mode);
 }
 
 } /* namespace ARDOUR */
 }
 
 } /* namespace ARDOUR */
diff --git a/libs/ardour/mode.cc b/libs/ardour/mode.cc
new file mode 100644 (file)
index 0000000..e3c37df
--- /dev/null
@@ -0,0 +1,337 @@
+/*
+    Copyright (C) 1999-2016 Paul Davis
+
+    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.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "ardour/mode.h"
+
+MusicalMode::MusicalMode (MusicalMode::Type t)
+{
+       fill (*this, t);
+}
+
+MusicalMode::~MusicalMode()
+{
+}
+
+void
+MusicalMode::fill (MusicalMode& m, MusicalMode::Type t)
+{
+       m.steps.clear ();
+
+       /* scales/modes as distances from root, expressed
+          in fractional whole tones.
+       */
+
+       switch (t) {
+       case Dorian:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.5);
+               break;
+       case IonianMajor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.5);
+               break;
+       case AeolianMinor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case HarmonicMinor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (5.0);
+               m.steps.push_back (5.5);
+               break;
+       case  BluesScale:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               m.steps.push_back (5.5);
+               break;
+       case MelodicMinorAscending:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.5);
+               break;
+       case MelodicMinorDescending:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               break;
+       case Phrygian:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case Lydian:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.5);
+               break;
+       case Mixolydian:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               break;
+       case Locrian:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case PentatonicMajor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               break;
+       case PentatonicMinor:
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (5.0);
+               break;
+       case  Chromatic:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               m.steps.push_back (5.5);
+               break;
+       case  NeapolitanMinor:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  NeapolitanMajor:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.5);
+               break;
+       case  Oriental:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               break;
+       case  DoubleHarmonic:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Enigmatic:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Hirajoshi:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               break;
+       case  HungarianMinor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  HungarianMajor:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Kumoi:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               break;
+       case  Iwato:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Hindu:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Spanish8Tone:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Pelog:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (5.0);
+               break;
+       case  HungarianGypsy:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Overtone:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               break;
+       case  LeadingWholeTone:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Arabian:
+               m.steps.push_back (1.0);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.0);
+               break;
+       case  Balinese:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               break;
+       case  Gypsy:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Mohammedan:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Javanese:
+               m.steps.push_back (0.5);
+               m.steps.push_back (1.5);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.5);
+               m.steps.push_back (5.0);
+               break;
+       case  Persian:
+               m.steps.push_back (0.5);
+               m.steps.push_back (2.0);
+               m.steps.push_back (2.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               break;
+       case  Algerian:
+               m.steps.push_back (1.0);
+               m.steps.push_back (1.5);
+               m.steps.push_back (3.0);
+               m.steps.push_back (3.5);
+               m.steps.push_back (4.0);
+               m.steps.push_back (5.5);
+               m.steps.push_back (6.0);
+               m.steps.push_back (7.0);
+               m.steps.push_back (7.5);
+               m.steps.push_back (8.5);
+               break;
+       }
+}
index a3ec926485893087ccd200002332f137fb3d5411..3ca15569bafd40915437fdb1c5c67d50d87f4c7d 100644 (file)
@@ -143,6 +143,7 @@ libardour_sources = [
         'mididm.cc',
         'midiport_manager.cc',
         'mix.cc',
         'mididm.cc',
         'midiport_manager.cc',
         'mix.cc',
+        'mode.cc',
         'monitor_control.cc',
         'monitor_processor.cc',
         'mtc_slave.cc',
         'monitor_control.cc',
         'monitor_processor.cc',
         'mtc_slave.cc',
index fe501742775e5c58b096f1b721da561d68eb6b30..c217d37039594178e2377426fe62d94b8393fd37 100644 (file)
@@ -37,8 +37,9 @@ namespace Gtk {
        class ListStore;
 }
 
        class ListStore;
 }
 
+#include "ardour/mode.h"
+
 #include "push2.h"
 #include "push2.h"
-#include "mode.h"
 
 namespace ArdourSurface {
 
 
 namespace ArdourSurface {
 
diff --git a/libs/surfaces/push2/mode.cc b/libs/surfaces/push2/mode.cc
deleted file mode 100644 (file)
index 99efc86..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-#include "mode.h"
-
-MusicalMode::MusicalMode (MusicalMode::Type t)
-{
-       fill (*this, t);
-}
-
-MusicalMode::~MusicalMode()
-{
-}
-
-void
-MusicalMode::fill (MusicalMode& m, MusicalMode::Type t)
-{
-       m.steps.clear ();
-
-       /* scales/modes as distances from root, expressed
-          in fractional whole tones.
-       */
-
-       switch (t) {
-       case Dorian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.5);
-               break;
-       case IonianMajor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.5);
-               break;
-       case Minor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case HarmonicMinor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (5.0);
-               m.steps.push_back (5.5);
-               break;
-       case  BluesScale:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               m.steps.push_back (5.5);
-               break;
-       case MelodicMinorAscending:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.5);
-               break;
-       case MelodicMinorDescending:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               break;
-       case Phrygian:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case Lydian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.5);
-               break;
-       case Mixolydian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               break;
-       case Aeolian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case Locrian:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case PentatonicMajor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               break;
-       case PentatonicMinor:
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (5.0);
-               break;
-       case  Chromatic:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               m.steps.push_back (5.5);
-               break;
-       case  NeapolitanMinor:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  NeapolitanMajor:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.5);
-               break;
-       case  Oriental:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               break;
-       case  DoubleHarmonic:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Enigmatic:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Hirajoshi:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               break;
-       case  HungarianMinor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  HungarianMajor:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Kumoi:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               break;
-       case  Iwato:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Hindu:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Spanish8Tone:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Pelog:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (5.0);
-               break;
-       case  HungarianGypsy:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Overtone:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               break;
-       case  LeadingWholeTone:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Arabian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.0);
-               break;
-       case  Balinese:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               break;
-       case  Gypsy:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Mohammedan:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Javanese:
-               m.steps.push_back (0.5);
-               m.steps.push_back (1.5);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.5);
-               m.steps.push_back (5.0);
-               break;
-       case  Persian:
-               m.steps.push_back (0.5);
-               m.steps.push_back (2.0);
-               m.steps.push_back (2.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               break;
-       case  Algerian:
-               m.steps.push_back (1.0);
-               m.steps.push_back (1.5);
-               m.steps.push_back (3.0);
-               m.steps.push_back (3.5);
-               m.steps.push_back (4.0);
-               m.steps.push_back (5.5);
-               m.steps.push_back (6.0);
-               m.steps.push_back (7.0);
-               m.steps.push_back (7.5);
-               m.steps.push_back (8.5);
-               break;
-       }
-}
diff --git a/libs/surfaces/push2/mode.h b/libs/surfaces/push2/mode.h
deleted file mode 100644 (file)
index 4f570f9..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __ardour_push2_mode_h__
-#define __ardour_push2_mode_h__
-
-#include <vector>
-
-class MusicalMode
-{
-  public:
-       enum Type {
-               Dorian,
-               IonianMajor,
-               Minor,
-               HarmonicMinor,
-               MelodicMinorAscending,
-               MelodicMinorDescending,
-               Phrygian,
-               Lydian,
-               Mixolydian,
-               Aeolian,
-               Locrian,
-               PentatonicMajor,
-               PentatonicMinor,
-               Chromatic,
-               BluesScale,
-               NeapolitanMinor,
-               NeapolitanMajor,
-               Oriental,
-               DoubleHarmonic,
-               Enigmatic,
-               Hirajoshi,
-               HungarianMinor,
-               HungarianMajor,
-               Kumoi,
-               Iwato,
-               Hindu,
-               Spanish8Tone,
-               Pelog,
-               HungarianGypsy,
-               Overtone,
-               LeadingWholeTone,
-               Arabian,
-               Balinese,
-               Gypsy,
-               Mohammedan,
-               Javanese,
-               Persian,
-               Algerian
-       };
-
-       MusicalMode (Type t);
-       ~MusicalMode ();
-
-       std::vector<float> steps;
-
-  private:
-       static void fill (MusicalMode&, Type);
-};
-
-#endif /* __ardour_push2_mode_h__ */
index 47bff25580dbe74137c523a3b9d505e1ac8f512e..73c871548b070d8effdf66993f9133739550d932 100644 (file)
@@ -75,50 +75,10 @@ register_enums ()
        vector<int> i;
        vector<string> s;
 
        vector<int> i;
        vector<string> s;
 
-       MusicalMode::Type mode;
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_CLASS_ENUM(t,e) i.push_back (t::e); s.push_back (#e)
 
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_CLASS_ENUM(t,e) i.push_back (t::e); s.push_back (#e)
 
-       REGISTER_CLASS_ENUM (MusicalMode,Dorian);
-       REGISTER_CLASS_ENUM (MusicalMode, IonianMajor);
-       REGISTER_CLASS_ENUM (MusicalMode, Minor);
-       REGISTER_CLASS_ENUM (MusicalMode, HarmonicMinor);
-       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorAscending);
-       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorDescending);
-       REGISTER_CLASS_ENUM (MusicalMode, Phrygian);
-       REGISTER_CLASS_ENUM (MusicalMode, Lydian);
-       REGISTER_CLASS_ENUM (MusicalMode, Mixolydian);
-       REGISTER_CLASS_ENUM (MusicalMode, Aeolian);
-       REGISTER_CLASS_ENUM (MusicalMode, Locrian);
-       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMajor);
-       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMinor);
-       REGISTER_CLASS_ENUM (MusicalMode, Chromatic);
-       REGISTER_CLASS_ENUM (MusicalMode, BluesScale);
-       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMinor);
-       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMajor);
-       REGISTER_CLASS_ENUM (MusicalMode, Oriental);
-       REGISTER_CLASS_ENUM (MusicalMode, DoubleHarmonic);
-       REGISTER_CLASS_ENUM (MusicalMode, Enigmatic);
-       REGISTER_CLASS_ENUM (MusicalMode, Hirajoshi);
-       REGISTER_CLASS_ENUM (MusicalMode, HungarianMinor);
-       REGISTER_CLASS_ENUM (MusicalMode, HungarianMajor);
-       REGISTER_CLASS_ENUM (MusicalMode, Kumoi);
-       REGISTER_CLASS_ENUM (MusicalMode, Iwato);
-       REGISTER_CLASS_ENUM (MusicalMode, Hindu);
-       REGISTER_CLASS_ENUM (MusicalMode, Spanish8Tone);
-       REGISTER_CLASS_ENUM (MusicalMode, Pelog);
-       REGISTER_CLASS_ENUM (MusicalMode, HungarianGypsy);
-       REGISTER_CLASS_ENUM (MusicalMode, Overtone);
-       REGISTER_CLASS_ENUM (MusicalMode, LeadingWholeTone);
-       REGISTER_CLASS_ENUM (MusicalMode, Arabian);
-       REGISTER_CLASS_ENUM (MusicalMode, Balinese);
-       REGISTER_CLASS_ENUM (MusicalMode, Gypsy);
-       REGISTER_CLASS_ENUM (MusicalMode, Mohammedan);
-       REGISTER_CLASS_ENUM (MusicalMode, Javanese);
-       REGISTER_CLASS_ENUM (MusicalMode, Persian);
-       REGISTER_CLASS_ENUM (MusicalMode, Algerian);
-       REGISTER (mode);
 }
 
 Push2::Push2 (ARDOUR::Session& s)
 }
 
 Push2::Push2 (ARDOUR::Session& s)
index 30422775d45751e18908656ae4bd1794421d5080..2d4f17417ef5f0f96b4ac8a8d40494121d00d487 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "midi++/types.h"
 
 
 #include "midi++/types.h"
 
+#include "ardour/mode.h"
 #include "ardour/types.h"
 
 #include "control_protocol/control_protocol.h"
 #include "ardour/types.h"
 
 #include "control_protocol/control_protocol.h"
@@ -40,7 +41,6 @@
 #include "canvas/colors.h"
 
 #include "midi_byte_array.h"
 #include "canvas/colors.h"
 
 #include "midi_byte_array.h"
-#include "mode.h"
 
 namespace Pango {
        class Layout;
 
 namespace Pango {
        class Layout;
index 005efca3c1834411d843d202ed79d2ce54cef0f8..424a480ed2b380c9e827158bd51cc7e3b811850c 100644 (file)
@@ -379,19 +379,18 @@ ScaleLayout::build_scale_menu ()
 
        v.push_back ("Dorian");
        v.push_back ("Ionian (Major)");
 
        v.push_back ("Dorian");
        v.push_back ("Ionian (Major)");
-       v.push_back ("Minor");
+       v.push_back ("Aeolian (Minor)");
        v.push_back ("Harmonic Minor");
        v.push_back ("MelodicMinor Asc.");
        v.push_back ("MelodicMinor Desc.");
        v.push_back ("Phrygian");
        v.push_back ("Lydian");
        v.push_back ("Mixolydian");
        v.push_back ("Harmonic Minor");
        v.push_back ("MelodicMinor Asc.");
        v.push_back ("MelodicMinor Desc.");
        v.push_back ("Phrygian");
        v.push_back ("Lydian");
        v.push_back ("Mixolydian");
-       v.push_back ("Aeolian");
        v.push_back ("Locrian");
        v.push_back ("Pentatonic Major");
        v.push_back ("Pentatonic Minor");
        v.push_back ("Chromatic");
        v.push_back ("Locrian");
        v.push_back ("Pentatonic Major");
        v.push_back ("Pentatonic Minor");
        v.push_back ("Chromatic");
-       v.push_back ("BluesScale");
+       v.push_back ("Blues Scale");
        v.push_back ("Neapolitan Minor");
        v.push_back ("Neapolitan Major");
        v.push_back ("Oriental");
        v.push_back ("Neapolitan Minor");
        v.push_back ("Neapolitan Major");
        v.push_back ("Oriental");
index a29ccd44926a1e5ec04d04c050c2bee08ac595a6..0934ff589181c95f42587cae38c9d6ee8ed5abf2 100644 (file)
@@ -30,7 +30,6 @@ def build(bld):
            gui.cc
            knob.cc
            layout.cc
            gui.cc
            knob.cc
            layout.cc
-           mode.cc
            menu.cc
            mix.cc
            scale.cc
            menu.cc
            mix.cc
            scale.cc