13
0

Merge branch 'master' of git.ardour.org:ardour/ardour

This commit is contained in:
Paul Davis 2013-04-05 22:05:33 -04:00
commit 67e4f49064

View File

@ -251,8 +251,11 @@ AnalysisWindow::analyze_data (Gtk::Button */*button*/)
float *gain = (float *) malloc(sizeof(float) * fft_graph.windowSize());
Selection& s (PublicEditor::instance().get_selection());
// if timeSelection
if (source_selection_ranges_rb.get_active()) {
TimeSelection ts = s.time;
RegionSelection ars = s.regions;
for (TrackSelection::iterator i = s.tracks.begin(); i != s.tracks.end(); ++i) {
boost::shared_ptr<AudioPlaylist> pl
@ -268,12 +271,9 @@ AnalysisWindow::analyze_data (Gtk::Button */*button*/)
if (!pl || !rui)
continue;
// std::cerr << "Analyzing ranges on track " << rui->route()->name() << std::endl;
FFTResult *res = fft_graph.prepareResult(rui->color(), rui->route()->name());
// if timeSelection
if (source_selection_ranges_rb.get_active()) {
// cerr << "Analyzing ranges on track " << *&rui->route().name() << endl;
for (std::list<AudioRange>::iterator j = ts.begin(); j != ts.end(); ++j) {
int n;
@ -303,10 +303,17 @@ AnalysisWindow::analyze_data (Gtk::Button */*button*/)
}
}
}
} else if (source_selection_regions_rb.get_active()) {
// cerr << "Analyzing selected regions on track " << *&rui->route().name() << endl;
res->finalize();
TimeAxisView *current_axis = (*i);
Gtk::TreeModel::Row newrow = *(tlmodel)->append();
newrow[tlcols.trackname] = rui->route()->name();
newrow[tlcols.visible] = true;
newrow[tlcols.color] = rui->color();
newrow[tlcols.graph] = res;
}
} else if (source_selection_regions_rb.get_active()) {
RegionSelection ars = s.regions;
// std::cerr << "Analyzing selected regions" << std::endl;
for (RegionSelection::iterator j = ars.begin(); j != ars.end(); ++j) {
// Check that the region is actually audio (so we can analyze it)
@ -314,16 +321,17 @@ AnalysisWindow::analyze_data (Gtk::Button */*button*/)
if (!arv)
continue;
// Check that the region really is selected on _this_ track/solo
if ( &arv->get_time_axis_view() != current_axis)
// std::cerr << " - " << (*j)->region().name() << ": " << (*j)->region().length() << " samples starting at " << (*j)->region().position() << std::endl;
RouteTimeAxisView *rtav = dynamic_cast<RouteTimeAxisView *>(&arv->get_time_axis_view());
if (!rtav) {
/* shouldn't happen... */
continue;
// cerr << " - " << (*j)->region().name() << ": " << (*j)->region().length() << " samples starting at " << (*j)->region().position() << endl;
}
FFTResult *res = fft_graph.prepareResult(rtav->color(), arv->get_item_name());
int n;
for (int channel = 0; channel < n_inputs; channel++) {
for (unsigned int channel = 0; channel < arv->region()->n_channels(); channel++) {
framecnt_t x = 0;
framecnt_t length = arv->region()->length();
while (x < length) {
@ -347,23 +355,20 @@ AnalysisWindow::analyze_data (Gtk::Button */*button*/)
}
res->analyzeWindow(buf);
x += n;
}
}
// cerr << "Found: " << (*j)->get_item_name() << endl;
}
}
// std::cerr << "Found: " << (*j)->get_item_name() << std::endl;
res->finalize();
Gtk::TreeModel::Row newrow = *(tlmodel)->append();
newrow[tlcols.trackname] = rui->route()->name();
newrow[tlcols.trackname] = arv->get_item_name();
newrow[tlcols.visible] = true;
newrow[tlcols.color] = rui->color();
newrow[tlcols.color] = rtav->color();
newrow[tlcols.graph] = res;
}
}