#include "ardour/vca.h"
#include "ardour/vca_manager.h"
+#include "gtkmm2ext/doi.h"
#include "gtkmm2ext/keyboard.h"
#include "gui_thread.h"
void
VCAMasterStrip::self_delete ()
{
- delete this;
+ delete_when_idle (this);
}
void
void
VCAMasterStrip::hide_clicked ()
{
+ /* get everything to deassign. This will also delete ourselves (when
+ * idle) and that in turn will remove us from the Mixer GUI
+ */
+ _session->vca_manager().remove_vca (_vca);
}
bool
{
public:
VCAMasterStrip (ARDOUR::Session*, boost::shared_ptr<ARDOUR::VCA>);
+ ~VCAMasterStrip ();
std::string name() const;
std::string state_id() const { return "VCAMasterStrip"; }
static PBD::Signal1<void,VCAMasterStrip*> CatchDeletion;
private:
- ~VCAMasterStrip ();
-
boost::shared_ptr<ARDOUR::VCA> _vca;
Gtk::HBox vertical_padding;
ArdourButton name_button;