Clear displayed transients on closing the rhythm ferret dialogue. Fixes #3623.
git-svn-id: svn://localhost/ardour2/branches/3.0@8357 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
731bef6c17
commit
a48cdf5ba6
@ -183,15 +183,17 @@ RhythmFerret::run_analysis ()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RegionSelection& regions (editor.get_selection().regions);
|
clear_transients ();
|
||||||
|
|
||||||
|
regions_with_transients = editor.get_selection().regions;
|
||||||
|
|
||||||
current_results.clear ();
|
current_results.clear ();
|
||||||
|
|
||||||
if (regions.empty()) {
|
if (regions_with_transients.empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (RegionSelection::iterator i = regions.begin(); i != regions.end(); ++i) {
|
for (RegionSelection::iterator i = regions_with_transients.begin(); i != regions_with_transients.end(); ++i) {
|
||||||
|
|
||||||
boost::shared_ptr<Readable> rd = boost::static_pointer_cast<AudioRegion> ((*i)->region());
|
boost::shared_ptr<Readable> rd = boost::static_pointer_cast<AudioRegion> ((*i)->region());
|
||||||
|
|
||||||
@ -382,5 +384,17 @@ void
|
|||||||
RhythmFerret::on_hide ()
|
RhythmFerret::on_hide ()
|
||||||
{
|
{
|
||||||
ArdourDialog::on_hide ();
|
ArdourDialog::on_hide ();
|
||||||
|
clear_transients ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clear any transients that we have added */
|
||||||
|
void
|
||||||
|
RhythmFerret::clear_transients ()
|
||||||
|
{
|
||||||
|
current_results.clear ();
|
||||||
|
for (RegionSelection::iterator i = regions_with_transients.begin(); i != regions_with_transients.end(); ++i) {
|
||||||
|
(*i)->region()->set_transients (current_results);
|
||||||
|
}
|
||||||
|
regions_with_transients.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <gtkmm/button.h>
|
#include <gtkmm/button.h>
|
||||||
|
|
||||||
#include "ardour_dialog.h"
|
#include "ardour_dialog.h"
|
||||||
|
#include "region_selection.h"
|
||||||
|
|
||||||
namespace ARDOUR {
|
namespace ARDOUR {
|
||||||
class Readable;
|
class Readable;
|
||||||
@ -79,6 +80,10 @@ class RhythmFerret : public ArdourDialog {
|
|||||||
|
|
||||||
ARDOUR::AnalysisFeatureList current_results;
|
ARDOUR::AnalysisFeatureList current_results;
|
||||||
|
|
||||||
|
void clear_transients ();
|
||||||
|
/** Regions that we have added transient marks to */
|
||||||
|
RegionSelection regions_with_transients;
|
||||||
|
|
||||||
AnalysisMode get_analysis_mode () const;
|
AnalysisMode get_analysis_mode () const;
|
||||||
Action get_action() const;
|
Action get_action() const;
|
||||||
void analysis_mode_changed ();
|
void analysis_mode_changed ();
|
||||||
|
Loading…
Reference in New Issue
Block a user