34 pending_selection_change (false),
232 ptr->SelectChanged.connect_same_thread (*
this,
255 if ((hsf = boost::dynamic_pointer_cast<HasSampleFormat> (ptr))) {
373 if (do_selection_changed) {
475 if (select_intersect->qualities_empty()) {
480 if (select_intersect->formats_empty()) {
485 if (select_intersect->sample_rates_empty()) {
490 if (select_intersect->sample_formats_empty()) {
509 if (format && !format->has_quality (quality->quality)) {
510 format->set_selected (
false);
517 if (current_quality) {
518 current_quality->set_selected (
false);
528 if (do_selection_changed) {
549 if ((*it)->quality == quality) {
550 (*it)->set_selected (
true);
552 (*it)->set_selected (
false);
562 format_to_select = format->default_sample_format();
566 if ((hsf = boost::dynamic_pointer_cast<HasSampleFormat> (format))) {
568 for (SampleFormatList::iterator it = sample_formats.begin (); it != sample_formats.end (); ++it) {
569 if ((*it)->format == format_to_select) {
570 (*it)->set_selected (
true);
572 (*it)->set_selected (
false);
581 if (current_format) {
582 current_format->set_selected (
false);
586 if (do_selection_changed) {
607 current_rate->set_selected (
false);
611 if (do_selection_changed) {
631 if (current_format) {
632 current_format->set_selected (
false);
636 if (do_selection_changed) {
656 if (do_selection_changed) {
669 incompatibles.push_back (*it);
675 for (CompatList::iterator it = incompatibles.begin(); it != incompatibles.end(); ++it) {
676 (*it)->set_selected (
false);
681 std::set<ExportFormatBase::Quality> compatible_qualities;
685 for (FormatList::iterator it =
formats.begin(); it !=
formats.end(); ++it) {
686 if ((*it)->set_compatibility_state (global_compat)) {
687 compatible_qualities.insert ((*it)->get_quality());
691 bool any_quality_compatible =
true;
693 if (compatible_qualities.find((*it)->quality) != compatible_qualities.end()) {
694 (*it)->set_compatible (
true);
697 (*it)->set_compatible (
false);
700 any_quality_compatible =
false;
705 if (any_quality_compatible) {
708 (*it)->set_compatible (
true);
715 if (compat_intersect->has_sample_rate ((*it)->rate)) {
716 (*it)->set_compatible (
true);
718 (*it)->set_compatible (
false);
726 for (SampleFormatList::iterator it = sf_list.begin(); it != sf_list.end(); ++it) {
727 if (compat_intersect->has_sample_format ((*it)->format)) {
728 (*it)->set_compatible (
true);
730 (*it)->set_compatible (
false);
760 if ((*it)->selected()) {
773 for (FormatList::iterator it =
formats.begin(); it !=
formats.end(); ++it) {
774 if ((*it)->selected()) {
786 if ((*it)->selected()) {
800 return hsf->get_selected_sample_format ();
813 if ((*it)->selected ()) {
814 compat_intersect = compat_intersect->get_intersection (**it);
818 return compat_intersect;
boost::shared_ptr< ExportFormat > ExportFormatPtr
LIBARDOUR_API PBD::PropertyDescriptor< bool > select