mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
fix crash when opening MIDI controller automation tracks, caused by addition of "owner" field to an AutomationController, used to print values. Renamed "owner" to "printer" and required it to be non-null
git-svn-id: svn://localhost/ardour2/branches/3.0@8874 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
fbbddf78c9
commit
5f93192aa3
4 changed files with 14 additions and 5 deletions
|
|
@ -41,13 +41,15 @@
|
||||||
using namespace ARDOUR;
|
using namespace ARDOUR;
|
||||||
using namespace Gtk;
|
using namespace Gtk;
|
||||||
|
|
||||||
AutomationController::AutomationController(boost::shared_ptr<Automatable> owner, boost::shared_ptr<AutomationControl> ac, Adjustment* adj)
|
AutomationController::AutomationController(boost::shared_ptr<Automatable> printer, boost::shared_ptr<AutomationControl> ac, Adjustment* adj)
|
||||||
: BarController (*adj, ac)
|
: BarController (*adj, ac)
|
||||||
, _ignore_change(false)
|
, _ignore_change(false)
|
||||||
, _owner (owner)
|
, _printer (printer)
|
||||||
, _controllable(ac)
|
, _controllable(ac)
|
||||||
, _adjustment(adj)
|
, _adjustment(adj)
|
||||||
{
|
{
|
||||||
|
assert (_printer);
|
||||||
|
|
||||||
set_name (X_("PluginSlider")); // FIXME: get yer own name!
|
set_name (X_("PluginSlider")); // FIXME: get yer own name!
|
||||||
set_style (BarController::LeftToRight);
|
set_style (BarController::LeftToRight);
|
||||||
set_use_parent (true);
|
set_use_parent (true);
|
||||||
|
|
@ -88,7 +90,7 @@ std::string
|
||||||
AutomationController::get_label (double& xpos)
|
AutomationController::get_label (double& xpos)
|
||||||
{
|
{
|
||||||
xpos = 0.5;
|
xpos = 0.5;
|
||||||
return _owner->value_as_string (_controllable);
|
return _printer->value_as_string (_controllable);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ private:
|
||||||
void automation_state_changed();
|
void automation_state_changed();
|
||||||
|
|
||||||
bool _ignore_change;
|
bool _ignore_change;
|
||||||
boost::shared_ptr<ARDOUR::Automatable> _owner;
|
boost::shared_ptr<ARDOUR::Automatable> _printer;
|
||||||
boost::shared_ptr<ARDOUR::AutomationControl> _controllable;
|
boost::shared_ptr<ARDOUR::AutomationControl> _controllable;
|
||||||
Gtk::Adjustment* _adjustment;
|
Gtk::Adjustment* _adjustment;
|
||||||
sigc::connection _screen_update_connection;
|
sigc::connection _screen_update_connection;
|
||||||
|
|
|
||||||
|
|
@ -846,7 +846,9 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
|
||||||
assert (c);
|
assert (c);
|
||||||
|
|
||||||
boost::shared_ptr<AutomationTimeAxisView> track(new AutomationTimeAxisView (_session,
|
boost::shared_ptr<AutomationTimeAxisView> track(new AutomationTimeAxisView (_session,
|
||||||
_route, boost::shared_ptr<ARDOUR::Automatable>(), c,
|
_route,
|
||||||
|
_route,
|
||||||
|
c,
|
||||||
_editor,
|
_editor,
|
||||||
*this,
|
*this,
|
||||||
true,
|
true,
|
||||||
|
|
|
||||||
|
|
@ -223,9 +223,14 @@ PannerUI::setup_pan ()
|
||||||
if (!_panner) {
|
if (!_panner) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t const nouts = _panner->out().n_audio();
|
uint32_t const nouts = _panner->out().n_audio();
|
||||||
uint32_t const nins = _panner->in().n_audio();
|
uint32_t const nins = _panner->in().n_audio();
|
||||||
|
|
||||||
|
cerr << "GUI Panner for " << _panner << " setup with " << nins << " feeding " << nouts
|
||||||
|
<< " current = " << _current_nins << " feeding " << _current_nouts
|
||||||
|
<< endl;
|
||||||
|
|
||||||
if (int32_t (nouts) == _current_nouts && int32_t (nins) == _current_nins) {
|
if (int32_t (nouts) == _current_nouts && int32_t (nins) == _current_nins) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue