mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-19 21:26:26 +01:00
US2400: map knobs for mixbus strips, when selected.
This commit is contained in:
parent
618020424e
commit
23c2b751aa
4 changed files with 73 additions and 35 deletions
|
|
@ -527,6 +527,7 @@ public:
|
||||||
boost::shared_ptr<AutomationControl> filter_slope_controllable (bool) const;
|
boost::shared_ptr<AutomationControl> filter_slope_controllable (bool) const;
|
||||||
boost::shared_ptr<AutomationControl> filter_enable_controllable (bool) const;
|
boost::shared_ptr<AutomationControl> filter_enable_controllable (bool) const;
|
||||||
|
|
||||||
|
boost::shared_ptr<AutomationControl> tape_drive_controllable () const;
|
||||||
|
|
||||||
/* "well-known" controls for a compressor in this route. Any or all may
|
/* "well-known" controls for a compressor in this route. Any or all may
|
||||||
* be null.
|
* be null.
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,8 @@ class LIBARDOUR_API Stripable : public SessionObject,
|
||||||
virtual boost::shared_ptr<AutomationControl> filter_slope_controllable (bool hp) const = 0;
|
virtual boost::shared_ptr<AutomationControl> filter_slope_controllable (bool hp) const = 0;
|
||||||
virtual boost::shared_ptr<AutomationControl> filter_enable_controllable (bool hp) const = 0;
|
virtual boost::shared_ptr<AutomationControl> filter_enable_controllable (bool hp) const = 0;
|
||||||
|
|
||||||
|
virtual boost::shared_ptr<AutomationControl> tape_drive_controllable () const { return boost::shared_ptr<AutomationControl>(); }
|
||||||
|
|
||||||
/* "well-known" controls for a compressor in this route. Any or all may
|
/* "well-known" controls for a compressor in this route. Any or all may
|
||||||
* be null.
|
* be null.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -5420,6 +5420,19 @@ Route::filter_enable_controllable (bool) const
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boost::shared_ptr<AutomationControl>
|
||||||
|
Route::tape_drive_controllable () const
|
||||||
|
{
|
||||||
|
#ifdef MIXBUS
|
||||||
|
|
||||||
|
if ( _ch_pre && (is_master() || mixbus()) ) {
|
||||||
|
return boost::dynamic_pointer_cast<ARDOUR::AutomationControl> (_ch_pre->control (Evoral::Parameter (ARDOUR::PluginAutomation, 0, 4)));
|
||||||
|
}
|
||||||
|
|
||||||
|
return boost::shared_ptr<AutomationControl>();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
string
|
string
|
||||||
Route::eq_band_name (uint32_t band) const
|
Route::eq_band_name (uint32_t band) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -776,8 +776,64 @@ Strip::setup_trackview_vpot (boost::shared_ptr<Stripable> r)
|
||||||
_vpot->set_mode(Pot::wrap);
|
_vpot->set_mode(Pot::wrap);
|
||||||
|
|
||||||
#ifdef MIXBUS
|
#ifdef MIXBUS
|
||||||
|
|
||||||
|
//Trim & dynamics
|
||||||
|
switch (global_pos) {
|
||||||
|
case 0:
|
||||||
|
pc = r->trim_control ();
|
||||||
|
_vpot->set_mode(Pot::boost_cut);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
pc = r->pan_azimuth_control ();
|
||||||
|
_vpot->set_mode(Pot::dot);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
pc = r->comp_threshold_controllable();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
pc = r->comp_speed_controllable();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
pc = r->comp_mode_controllable();
|
||||||
|
_vpot->set_mode(Pot::wrap);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
pc = r->comp_makeup_controllable();
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
} //trim & dynamics
|
||||||
|
|
||||||
|
|
||||||
|
//EQ
|
||||||
int eq_band = -1;
|
int eq_band = -1;
|
||||||
if (r->is_input_strip ()) {
|
if (r->mixbus ()) {
|
||||||
|
|
||||||
|
switch (global_pos) {
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
pc = r->pan_width_control();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
pc = r->tape_drive_controllable();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
case 9:
|
||||||
|
case 10:
|
||||||
|
eq_band = (global_pos-8);
|
||||||
|
pc = r->eq_gain_controllable (eq_band);
|
||||||
|
_vpot->set_mode(Pot::boost_cut);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (r->is_input_strip ()) {
|
||||||
|
|
||||||
#ifdef MIXBUS32C
|
#ifdef MIXBUS32C
|
||||||
switch (global_pos) {
|
switch (global_pos) {
|
||||||
|
|
@ -828,39 +884,6 @@ Strip::setup_trackview_vpot (boost::shared_ptr<Stripable> r)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//trim & dynamics
|
|
||||||
|
|
||||||
switch (global_pos) {
|
|
||||||
case 0:
|
|
||||||
pc = r->trim_control ();
|
|
||||||
_vpot->set_mode(Pot::boost_cut);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
pc = r->pan_azimuth_control ();
|
|
||||||
_vpot->set_mode(Pot::dot);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
pc = r->comp_threshold_controllable();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
pc = r->comp_speed_controllable();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
pc = r->comp_mode_controllable();
|
|
||||||
_vpot->set_mode(Pot::wrap);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 5:
|
|
||||||
pc = r->comp_makeup_controllable();
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
} //trim & dynamics
|
|
||||||
|
|
||||||
//mixbus sends
|
//mixbus sends
|
||||||
switch (global_pos) {
|
switch (global_pos) {
|
||||||
case 16:
|
case 16:
|
||||||
|
|
@ -873,7 +896,6 @@ Strip::setup_trackview_vpot (boost::shared_ptr<Stripable> r)
|
||||||
case 23:
|
case 23:
|
||||||
pc = r->send_level_controllable ( global_pos - 16 );
|
pc = r->send_level_controllable ( global_pos - 16 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
} //global_pos switch
|
} //global_pos switch
|
||||||
|
|
||||||
} //if input_strip
|
} //if input_strip
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue