Fix the case of jump-to-next-Subdivision
[ardour.git] / libs / evoral / evoral / TypeMap.hpp
index d751c22a42f08fc5a21b3ca257eefc59669639dd..0ebc81370bf5daa86c8582c02bbf36c761b706be 100644 (file)
 #ifndef EVORAL_TYPE_MAP_HPP
 #define EVORAL_TYPE_MAP_HPP
 
+#include <stdint.h>
+
+#include <string>
+
 #include "evoral/visibility.h"
 #include "evoral/types.hpp"
 
 namespace Evoral {
 
 class Parameter;
+class ParameterDescriptor;
 
 /** The applications passes one of these which provide the implementation
  * with required information about event types in an opaque, type neutral way
@@ -43,15 +48,11 @@ public:
         */
        virtual uint8_t parameter_midi_type(const Parameter& param) const = 0;
 
-       /** The type ID for a MIDI event with the given status byte
-        */
-       virtual uint32_t midi_event_type(uint8_t status) const = 0;
-
-       /** Return true iff parameter should be locked to integer boundaries */
-       virtual bool is_integer(const Evoral::Parameter& param) const = 0;
+       /** The parameter type for the given MIDI event. */
+       virtual ParameterType midi_parameter_type(const uint8_t* buf, uint32_t len) const = 0;
 
-       /** Create a parameter with the given type ID */
-       virtual Parameter new_parameter(uint32_t type, uint8_t channel, uint32_t id) const = 0;
+       /** Return the description of a parameter. */
+       virtual ParameterDescriptor descriptor(const Parameter& param) const = 0;
 
        virtual std::string to_symbol(const Parameter& param) const = 0;
 };