Remove braindead Parameter inheritance abuse.
authorDavid Robillard <d@drobilla.net>
Mon, 1 Dec 2014 04:14:03 +0000 (23:14 -0500)
committerDavid Robillard <d@drobilla.net>
Mon, 1 Dec 2014 04:56:20 +0000 (23:56 -0500)
gtk2_ardour/midi_region_view.cc
libs/ardour/event_type_map.cc
libs/evoral/MSVCevoral/evoral.vcproj
libs/evoral/evoral/MIDIParameters.hpp [deleted file]
libs/evoral/src/Sequence.cpp
libs/evoral/test/SequenceTest.cpp

index 1accb0c6b5edf7000fabaf8673dba2df600ea3a0..19725b375fb0a68128e03bc7c058fafa3190aa52 100644 (file)
@@ -39,7 +39,6 @@
 #include "ardour/session.h"
 
 #include "evoral/Parameter.hpp"
-#include "evoral/MIDIParameters.hpp"
 #include "evoral/MIDIEvent.hpp"
 #include "evoral/Control.hpp"
 #include "evoral/midi_util.h"
index cc15d72356689b344cd74e8688e0b87f90c0ddcc..6c1c8363eedd176770beefe9cc373dea296eef4b 100644 (file)
@@ -26,7 +26,6 @@
 #include "ardour/uri_map.h"
 #include "evoral/Parameter.hpp"
 #include "evoral/midi_events.h"
-#include "evoral/MIDIParameters.hpp"
 #include "pbd/error.h"
 #include "pbd/compose.h"
 
@@ -197,9 +196,14 @@ EventTypeMap::new_parameter(uint32_t type, uint8_t channel, uint32_t id) const
        case MidiCCAutomation:
        case MidiPgmChangeAutomation:
        case MidiChannelPressureAutomation:
-               Evoral::MIDI::controller_range(min, max, normal); break;
+               min = 0.0;
+               normal = 0.0;
+               max = 127.0;
+               break;
        case MidiPitchBenderAutomation:
-               Evoral::MIDI::bender_range(min, max, normal); break;
+               min = 0.0;
+               normal = 8192.0;
+               max = 16383.0;
        case MidiSystemExclusiveAutomation:
                return p;
        case PluginPropertyAutomation:
index b82f02becee83e0a1c0bf139bdf0814d1053c981..e58711405e1f8823951a40bb9733cf1b6453277e 100644 (file)
                                RelativePath="..\evoral\MIDIEvent.hpp"
                                >
                        </File>
-                       <File
-                               RelativePath="..\evoral\MIDIParameters.hpp"
-                               >
-                       </File>
                        <File
                                RelativePath="..\evoral\Note.hpp"
                                >
diff --git a/libs/evoral/evoral/MIDIParameters.hpp b/libs/evoral/evoral/MIDIParameters.hpp
deleted file mode 100644 (file)
index 977c2c1..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* This file is part of Evoral.
- * Copyright (C) 2008 David Robillard <http://drobilla.net>
- * Copyright (C) 2000-2008 Paul Davis
- *
- * Evoral 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.
- *
- * Evoral 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 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.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef EVORAL_MIDI_PARAMETERS_HPP
-#define EVORAL_MIDI_PARAMETERS_HPP
-
-#include "evoral/visibility.h"
-
-namespace Evoral {
-namespace MIDI {
-
-struct /*LIBEVORAL_API*/ ContinuousController : public Parameter {
-       ContinuousController(uint32_t cc_type, uint8_t channel, uint32_t controller)
-               : Parameter(cc_type, channel, controller) {}
-};
-
-struct /*LIBEVORAL_API*/ ProgramChange : public Parameter {
-       ProgramChange(uint32_t pc_type, uint8_t channel) : Parameter(pc_type, channel, 0) {}
-};
-
-struct /*LIBEVORAL_API*/ ChannelPressure : public Parameter {
-       ChannelPressure(uint32_t ca_type, uint32_t channel) : Parameter(ca_type, channel, 0) {}
-};
-
-struct /*LIBEVORAL_API*/ PitchBender : public Parameter {
-       PitchBender(uint32_t pb_type, uint32_t channel) : Parameter(pb_type, channel, 0) {}
-};
-
-inline static void controller_range(double& min, double& max, double& normal) {
-       min = 0.0;
-       normal = 0.0;
-       max = 127.0;
-}
-
-inline static void bender_range(double& min, double& max, double& normal) {
-       min = 0.0;
-       normal = 8192.0;
-       max = 16383.0;
-}
-
-} // namespace MIDI
-} // namespace Evoral
-
-#endif // EVORAL_MIDI_PARAMETERS_HPP
index 5a7fd171b4af564af2c36ff91c13a6974e0409e5..fca4879322054f73dd9aae8ef47be003ede65306 100644 (file)
@@ -35,7 +35,6 @@
 #include "evoral/ControlList.hpp"
 #include "evoral/ControlSet.hpp"
 #include "evoral/EventSink.hpp"
-#include "evoral/MIDIParameters.hpp"
 #include "evoral/Sequence.hpp"
 #include "evoral/TypeMap.hpp"
 #include "evoral/midi_util.h"
@@ -936,20 +935,20 @@ Sequence<Time>::append(const Event<Time>& event, event_id_t evid)
                }
        } else if (ev.is_cc()) {
                append_control_unlocked(
-                       Evoral::MIDI::ContinuousController(ev.event_type(), ev.channel(), ev.cc_number()),
+                       Parameter(ev.event_type(), ev.channel(), ev.cc_number()),
                        ev.time(), ev.cc_value(), evid);
        } else if (ev.is_pgm_change()) {
                /* write a patch change with this program change and any previously set-up bank number */
                append_patch_change_unlocked (PatchChange<Time> (ev.time(), ev.channel(), ev.pgm_number(), _bank[ev.channel()]), evid);
        } else if (ev.is_pitch_bender()) {
                append_control_unlocked(
-                       Evoral::MIDI::PitchBender(ev.event_type(), ev.channel()),
+                       Parameter(ev.event_type(), ev.channel()),
                        ev.time(), double ((0x7F & ev.pitch_bender_msb()) << 7
                                           | (0x7F & ev.pitch_bender_lsb())),
                        evid);
        } else if (ev.is_channel_pressure()) {
                append_control_unlocked(
-                       Evoral::MIDI::ChannelPressure(ev.event_type(), ev.channel()),
+                       Parameter(ev.event_type(), ev.channel()),
                        ev.time(), ev.channel_pressure(), evid);
        } else if (!_type_map.type_is_midi(ev.event_type())) {
                printf("WARNING: Sequence: Unknown event type %X: ", ev.event_type());
index d56235657b4fd668d35763f56e761d424439f664..b1d166f0b9ff0f8572a07dbcb710f9d16b950e08 100644 (file)
@@ -1,5 +1,4 @@
 #include "SequenceTest.hpp"
-#include "evoral/MIDIParameters.hpp"
 #include <cassert>
 
 CPPUNIT_TEST_SUITE_REGISTRATION(SequenceTest);
@@ -103,11 +102,12 @@ SequenceTest::controlInterpolationTest ()
        static const uint64_t delay   = 1000;
        static const uint32_t cc_type = 1;
 
-       boost::shared_ptr<Control> c = seq->control(MIDI::ContinuousController(cc_type, 1, 1), true);
+       boost::shared_ptr<Control> c = seq->control(Parameter(cc_type, 1, 1), true);
        CPPUNIT_ASSERT(c);
 
-       double min, max, normal;
-       MIDI::controller_range(min, max, normal);
+       double min = 0.0;
+       double max = 127.0;
+       double normal = 0.0;
 
        // Make a ramp like /\ from min to max and back to min
        c->set_double(min, 0, true);