summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/audio_time_axis.cc2
-rw-r--r--gtk2_ardour/audio_time_axis.h2
-rw-r--r--gtk2_ardour/midi_time_axis.cc25
-rw-r--r--gtk2_ardour/midi_time_axis.h5
-rw-r--r--gtk2_ardour/route_time_axis.h2
-rw-r--r--libs/ardour/ardour/parameter.h4
-rw-r--r--libs/ardour/ardour/types.h2
-rw-r--r--libs/ardour/audioengine.cc2
-rw-r--r--libs/ardour/automatable.cc6
-rw-r--r--libs/ardour/midi_track.cc2
-rw-r--r--libs/ardour/parameter.cc10
11 files changed, 39 insertions, 23 deletions
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc
index 51aa299128..a991bffe54 100644
--- a/gtk2_ardour/audio_time_axis.cc
+++ b/gtk2_ardour/audio_time_axis.cc
@@ -319,7 +319,7 @@ AudioTimeAxisView::set_waveform_scale (WaveformScale scale)
}
void
-AudioTimeAxisView::create_automation_child (Parameter param, bool show)
+AudioTimeAxisView::create_automation_child (const Parameter& param, bool show)
{
if (param.type() == GainAutomation) {
diff --git a/gtk2_ardour/audio_time_axis.h b/gtk2_ardour/audio_time_axis.h
index 1b090d881e..ce5697d7c1 100644
--- a/gtk2_ardour/audio_time_axis.h
+++ b/gtk2_ardour/audio_time_axis.h
@@ -82,7 +82,7 @@ class AudioTimeAxisView : public RouteTimeAxisView
guint32 show_at (double y, int& nth, Gtk::VBox *parent);
void hide ();
- void create_automation_child (ARDOUR::Parameter param, bool show);
+ void create_automation_child (const ARDOUR::Parameter& param, bool show);
void first_idle ();
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index b8f5da2ed9..7ef924dada 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -225,9 +225,15 @@ MidiTimeAxisView::build_automation_action_menu ()
MenuList& automation_items = automation_action_menu->items();
automation_items.push_back (SeparatorElem());
-
automation_items.push_back (MenuElem (_("Controller..."),
- mem_fun(*this, &MidiTimeAxisView::add_controller_track)));
+ mem_fun(*this, &MidiTimeAxisView::add_cc_track)));
+ automation_items.push_back (MenuElem (_("Bender"),
+ sigc::bind(mem_fun(*this, &MidiTimeAxisView::add_parameter_track),
+ Parameter(MidiPitchBenderAutomation))));
+ automation_items.push_back (MenuElem (_("Pressure"),
+ sigc::bind(mem_fun(*this, &MidiTimeAxisView::add_parameter_track),
+ Parameter(MidiChannelPressureAutomation))));
+
}
Gtk::Menu*
@@ -319,7 +325,7 @@ MidiTimeAxisView::show_existing_automation ()
/** Prompt for a controller with a dialog and add an automation track for it
*/
void
-MidiTimeAxisView::add_controller_track()
+MidiTimeAxisView::add_cc_track()
{
int response;
Parameter param;
@@ -337,13 +343,22 @@ MidiTimeAxisView::add_controller_track()
create_automation_child(param, true);
}
+
+/** Add an automation track for the given parameter (pitch bend, channel pressure).
+ */
+void
+MidiTimeAxisView::add_parameter_track(const Parameter& param)
+{
+ create_automation_child(param, true);
+}
+
void
-MidiTimeAxisView::create_automation_child (Parameter param, bool show)
+MidiTimeAxisView::create_automation_child (const Parameter& param, bool show)
{
if ( param.type() == MidiCCAutomation ||
param.type() == MidiPgmChangeAutomation ||
param.type() == MidiPitchBenderAutomation ||
- param.type() == MidiChannelAftertouchAutomation
+ param.type() == MidiChannelPressureAutomation
) {
/* These controllers are region "automation", so we do not create
diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h
index e06e5cd534..f56ce604d4 100644
--- a/gtk2_ardour/midi_time_axis.h
+++ b/gtk2_ardour/midi_time_axis.h
@@ -68,8 +68,9 @@ class MidiTimeAxisView : public RouteTimeAxisView
void show_all_automation ();
void show_existing_automation ();
- void add_controller_track ();
- void create_automation_child (ARDOUR::Parameter param, bool show);
+ void add_cc_track ();
+ void add_parameter_track (const ARDOUR::Parameter& param);
+ void create_automation_child (const ARDOUR::Parameter& param, bool show);
ARDOUR::NoteMode note_mode() const { return _note_mode; }
diff --git a/gtk2_ardour/route_time_axis.h b/gtk2_ardour/route_time_axis.h
index 69dc47580a..b098894d8c 100644
--- a/gtk2_ardour/route_time_axis.h
+++ b/gtk2_ardour/route_time_axis.h
@@ -117,7 +117,7 @@ public:
: param (par), menu_item (mi), track (tr) {}
};
- virtual void create_automation_child (ARDOUR::Parameter param, bool show) = 0;
+ virtual void create_automation_child (const ARDOUR::Parameter& param, bool show) = 0;
/* make sure we get the right version of this */
diff --git a/libs/ardour/ardour/parameter.h b/libs/ardour/ardour/parameter.h
index 9ffeb98995..5c390c1039 100644
--- a/libs/ardour/ardour/parameter.h
+++ b/libs/ardour/ardour/parameter.h
@@ -93,7 +93,7 @@ public:
break;
case MidiCCAutomation:
case MidiPgmChangeAutomation:
- case MidiChannelAftertouchAutomation:
+ case MidiChannelPressureAutomation:
Evoral::MIDI::controller_range(min, max, normal); break;
case MidiPitchBenderAutomation:
Evoral::MIDI::bender_range(min, max, normal); break;
@@ -108,7 +108,7 @@ public:
std::string symbol() const;
inline bool is_integer() const {
- return (_type >= MidiCCAutomation && _type <= MidiChannelAftertouchAutomation);
+ return (_type >= MidiCCAutomation && _type <= MidiChannelPressureAutomation);
}
inline operator Parameter() { return (Parameter)*this; }
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 06c055bbe6..ce76a247cb 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -89,7 +89,7 @@ namespace ARDOUR {
MidiCCAutomation = 0x20,
MidiPgmChangeAutomation = 0x21,
MidiPitchBenderAutomation = 0x22,
- MidiChannelAftertouchAutomation = 0x23,
+ MidiChannelPressureAutomation = 0x23,
FadeInAutomation = 0x40,
FadeOutAutomation = 0x80,
EnvelopeAutomation = 0x100
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 71481e695f..956b956020 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -95,7 +95,7 @@ AudioEngine::AudioEngine (string client_name)
Parameter::init_metadata(MidiCCAutomation);
Parameter::init_metadata(MidiPgmChangeAutomation);
Parameter::init_metadata(MidiPitchBenderAutomation);
- Parameter::init_metadata(MidiChannelAftertouchAutomation);
+ Parameter::init_metadata(MidiChannelPressureAutomation);
Parameter::init_metadata(FadeInAutomation);
Parameter::init_metadata(FadeOutAutomation);
Parameter::init_metadata(EnvelopeAutomation);
diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc
index f77975c303..a54bad5f6f 100644
--- a/libs/ardour/automatable.cc
+++ b/libs/ardour/automatable.cc
@@ -161,8 +161,8 @@ Automatable::describe_parameter (Parameter param)
return string_compose("Program [%1]", int(param.channel()) + 1);
} else if (param.type() == MidiPitchBenderAutomation) {
return string_compose("Bender [%1]", int(param.channel()) + 1);
- } else if (param.type() == MidiChannelAftertouchAutomation) {
- return string_compose("Aftertouch [%1]", int(param.channel()) + 1);
+ } else if (param.type() == MidiChannelPressureAutomation) {
+ return string_compose("Pressure [%1]", int(param.channel()) + 1);
} else {
return param.symbol();
}
@@ -392,7 +392,7 @@ Automatable::control_factory(const Evoral::Parameter& param)
{
boost::shared_ptr<AutomationList> list(new AutomationList(param));
Evoral::Control* control = NULL;
- if (param.type() >= MidiCCAutomation && param.type() <= MidiChannelAftertouchAutomation) {
+ if (param.type() >= MidiCCAutomation && param.type() <= MidiChannelPressureAutomation) {
control = new MidiTrack::MidiControl((MidiTrack*)this, param);
} else {
control = new AutomationControl(_a_session, param);
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index ffe8b20303..745e5bf1b7 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -764,7 +764,7 @@ MidiTrack::MidiControl::set_value(float val)
ev[1] = int(val);
break;
- case MidiChannelAftertouchAutomation:
+ case MidiChannelPressureAutomation:
size = 2;
ev[0] += MIDI_CMD_CHANNEL_PRESSURE;
ev[1] = int(val);
diff --git a/libs/ardour/parameter.cc b/libs/ardour/parameter.cc
index 87b5d329a2..d6e9d16db5 100644
--- a/libs/ardour/parameter.cc
+++ b/libs/ardour/parameter.cc
@@ -68,10 +68,10 @@ Parameter::Parameter(const std::string& str)
assert(channel < 16);
_id = 0;
_channel = channel;
- } else if (str.length() > 24 && str.substr(0, 24) == "midi-channel-aftertouch-") {
- _type = MidiChannelAftertouchAutomation;
+ } else if (str.length() > 24 && str.substr(0, 24) == "midi-channel-pressure-") {
+ _type = MidiChannelPressureAutomation;
uint32_t channel = 0;
- sscanf(str.c_str(), "midi-channel-aftertouch-%d", &channel);
+ sscanf(str.c_str(), "midi-channel-pressure-%d", &channel);
assert(channel < 16);
_id = 0;
_channel = channel;
@@ -111,8 +111,8 @@ Parameter::symbol() const
return string_compose("midi-pgm-change-%1", int(_channel));
} else if (_type == MidiPitchBenderAutomation) {
return string_compose("midi-pitch-bender-%1", int(_channel));
- } else if (_type == MidiChannelAftertouchAutomation) {
- return string_compose("midi-channel-aftertouch-%1", int(_channel));
+ } else if (_type == MidiChannelPressureAutomation) {
+ return string_compose("midi-channel-pressure-%1", int(_channel));
} else {
PBD::warning << "Uninitialized Parameter symbol() called." << endmsg;
return "";