+ ComboOption<std::string>* audition_synth = new ComboOption<std::string> (
+ "midi-audition-synth-uri",
+ _("MIDI Audition Synth (LV2)"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_midi_audition_synth_uri),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_midi_audition_synth_uri)
+ );
+
+ audition_synth->add(X_(""), _("None"));
+ PluginInfoList all_plugs;
+ PluginManager& manager (PluginManager::instance());
+#ifdef LV2_SUPPORT
+ all_plugs.insert (all_plugs.end(), manager.lv2_plugin_info().begin(), manager.lv2_plugin_info().end());
+
+ for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) {
+ if (manager.get_status (*i) == PluginManager::Hidden) continue;
+ if (!(*i)->is_instrument()) continue;
+ if ((*i)->type != ARDOUR::LV2) continue;
+ if ((*i)->name.length() > 46) {
+ audition_synth->add((*i)->unique_id, (*i)->name.substr (0, 44) + "...");
+ } else {
+ audition_synth->add((*i)->unique_id, (*i)->name);
+ }
+ }
+#endif
+
+ add_option (_("MIDI"), audition_synth);
+
+ /* Click */
+
+ add_option (_("Metronome"), new OptionEditorHeading (_("Metronome")));
+ add_option (_("Metronome"), new ClickOptions (_rc_config));
+ add_option (_("Metronome"), new OptionEditorHeading (_("Options")));
+
+ bo = new BoolOption (
+ "click-record-only",
+ _("Enable metronome only while recording"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_click_record_only),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_click_record_only)
+ );
+
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ string_compose (_("<b>When enabled</b> the metronome will remain silent if %1 is <b>not recording</b>."), PROGRAM_NAME));
+ add_option (_("Metronome"), bo);
+ add_option (_("Metronome"), new OptionEditorBlank ());
+
+
+ /* Meters */
+
+ add_option (S_("Preferences|Metering"), new OptionEditorHeading (_("Metering")));
+
+ ComboOption<float>* mht = new ComboOption<float> (
+ "meter-hold",
+ _("Peak hold time"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_hold),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_meter_hold)
+ );
+
+ mht->add (MeterHoldOff, _("off"));
+ mht->add (MeterHoldShort, _("short"));
+ mht->add (MeterHoldMedium, _("medium"));
+ mht->add (MeterHoldLong, _("long"));
+
+ add_option (S_("Preferences|Metering"), mht);
+
+ ComboOption<float>* mfo = new ComboOption<float> (
+ "meter-falloff",
+ _("DPM fall-off"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_falloff),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_falloff)
+ );
+
+ mfo->add (METER_FALLOFF_OFF, _("off"));
+ mfo->add (METER_FALLOFF_SLOWEST, _("slowest [6.6dB/sec]"));
+ mfo->add (METER_FALLOFF_SLOW, _("slow [8.6dB/sec] (BBC PPM, EBU PPM)"));
+ mfo->add (METER_FALLOFF_SLOWISH, _("moderate [12.0dB/sec] (DIN)"));
+ mfo->add (METER_FALLOFF_MODERATE, _("medium [13.3dB/sec] (EBU Digi PPM, IRT Digi PPM)"));
+ mfo->add (METER_FALLOFF_MEDIUM, _("fast [20dB/sec]"));
+ mfo->add (METER_FALLOFF_FAST, _("very fast [32dB/sec]"));
+
+ add_option (S_("Preferences|Metering"), mfo);
+
+ ComboOption<MeterLineUp>* mlu = new ComboOption<MeterLineUp> (
+ "meter-line-up-level",
+ _("Meter line-up level; 0dBu"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_line_up_level),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_meter_line_up_level)
+ );
+
+ mlu->add (MeteringLineUp24, _("-24dBFS (SMPTE US: 4dBu = -20dBFS)"));
+ mlu->add (MeteringLineUp20, _("-20dBFS (SMPTE RP.0155)"));
+ mlu->add (MeteringLineUp18, _("-18dBFS (EBU, BBC)"));
+ mlu->add (MeteringLineUp15, _("-15dBFS (DIN)"));
+
+ Gtkmm2ext::UI::instance()->set_tip (mlu->tip_widget(), _("Configure meter-marks and color-knee point for dBFS scale DPM, set reference level for IEC1/Nordic, IEC2 PPM and VU meter."));
+
+ add_option (S_("Preferences|Metering"), mlu);
+
+ ComboOption<MeterLineUp>* mld = new ComboOption<MeterLineUp> (
+ "meter-line-up-din",
+ _("IEC1/DIN Meter line-up level; 0dBu"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_line_up_din),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_meter_line_up_din)
+ );
+
+ mld->add (MeteringLineUp24, _("-24dBFS (SMPTE US: 4dBu = -20dBFS)"));
+ mld->add (MeteringLineUp20, _("-20dBFS (SMPTE RP.0155)"));
+ mld->add (MeteringLineUp18, _("-18dBFS (EBU, BBC)"));
+ mld->add (MeteringLineUp15, _("-15dBFS (DIN)"));
+
+ Gtkmm2ext::UI::instance()->set_tip (mld->tip_widget(), _("Reference level for IEC1/DIN meter."));
+
+ add_option (S_("Preferences|Metering"), mld);
+
+ ComboOption<VUMeterStandard>* mvu = new ComboOption<VUMeterStandard> (
+ "meter-vu-standard",
+ _("VU Meter standard"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_vu_standard),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_meter_vu_standard)
+ );
+
+ mvu->add (MeteringVUfrench, _("0VU = -2dBu (France)"));
+ mvu->add (MeteringVUamerican, _("0VU = 0dBu (North America, Australia)"));
+ mvu->add (MeteringVUstandard, _("0VU = +4dBu (standard)"));
+ mvu->add (MeteringVUeight, _("0VU = +8dBu"));
+
+ add_option (S_("Preferences|Metering"), mvu);
+
+ HSliderOption *mpks = new HSliderOption("meter-peak",
+ _("Peak indicator threshold [dBFS]"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_peak),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_meter_peak),
+ -10, 0, .1, .1
+ );
+
+ Gtkmm2ext::UI::instance()->set_tip (
+ mpks->tip_widget(),
+ _("Specify the audio signal level in dBFS at and above which the meter-peak indicator will flash red."));
+
+ add_option (S_("Preferences|Metering"), mpks);
+
+ OptionEditorHeading* default_meter_head = new OptionEditorHeading (_("Default Meter Types"));
+ default_meter_head->set_note (_("These settings apply to newly created tracks and busses. For the Master bus, this will be when a new session is created."));
+
+ add_option (S_("Preferences|Metering"), default_meter_head);
+
+ ComboOption<MeterType>* mtm = new ComboOption<MeterType> (
+ "meter-type-master",
+ _("Default Meter Type for Master Bus"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_type_master),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_type_master)
+ );
+ mtm->add (MeterPeak, ArdourMeter::meter_type_string(MeterPeak));
+ mtm->add (MeterK20, ArdourMeter::meter_type_string(MeterK20));
+ mtm->add (MeterK14, ArdourMeter::meter_type_string(MeterK14));
+ mtm->add (MeterK12, ArdourMeter::meter_type_string(MeterK12));
+ mtm->add (MeterIEC1DIN, ArdourMeter::meter_type_string(MeterIEC1DIN));
+ mtm->add (MeterIEC1NOR, ArdourMeter::meter_type_string(MeterIEC1NOR));
+ mtm->add (MeterIEC2BBC, ArdourMeter::meter_type_string(MeterIEC2BBC));
+ mtm->add (MeterIEC2EBU, ArdourMeter::meter_type_string(MeterIEC2EBU));
+
+ add_option (S_("Preferences|Metering"), mtm);
+
+
+ ComboOption<MeterType>* mtb = new ComboOption<MeterType> (
+ "meter-type-bus",
+ _("Default meter type for busses"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_type_bus),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_type_bus)
+ );
+ mtb->add (MeterPeak, ArdourMeter::meter_type_string(MeterPeak));
+ mtb->add (MeterK20, ArdourMeter::meter_type_string(MeterK20));
+ mtb->add (MeterK14, ArdourMeter::meter_type_string(MeterK14));
+ mtb->add (MeterK12, ArdourMeter::meter_type_string(MeterK12));
+ mtb->add (MeterIEC1DIN, ArdourMeter::meter_type_string(MeterIEC1DIN));
+ mtb->add (MeterIEC1NOR, ArdourMeter::meter_type_string(MeterIEC1NOR));
+ mtb->add (MeterIEC2BBC, ArdourMeter::meter_type_string(MeterIEC2BBC));
+ mtb->add (MeterIEC2EBU, ArdourMeter::meter_type_string(MeterIEC2EBU));
+
+ add_option (S_("Preferences|Metering"), mtb);
+
+ ComboOption<MeterType>* mtt = new ComboOption<MeterType> (
+ "meter-type-track",
+ _("Default meter type for tracks"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_type_track),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_type_track)
+ );
+ mtt->add (MeterPeak, ArdourMeter::meter_type_string(MeterPeak));
+ mtt->add (MeterPeak0dB, ArdourMeter::meter_type_string(MeterPeak0dB));
+
+ add_option (S_("Preferences|Metering"), mtt);
+
+ add_option (S_("Preferences|Metering"), new OptionEditorHeading (_("Post Export Analysis")));
+
+ add_option (S_("Preferences|Metering"),