triggerbox: barcnt -> beatcnt (gui part)

This commit is contained in:
Ben Loftis 2022-01-26 10:17:53 -06:00
parent efb44fc640
commit 289199d01d
2 changed files with 20 additions and 53 deletions

View file

@ -53,8 +53,8 @@ using std::min;
AudioTriggerPropertiesBox::AudioTriggerPropertiesBox () AudioTriggerPropertiesBox::AudioTriggerPropertiesBox ()
: _length_clock (X_("regionlength"), true, "", true, false, true) : _length_clock (X_("regionlength"), true, "", true, false, true)
, _start_clock (X_("regionstart"), true, "", false, false) , _start_clock (X_("regionstart"), true, "", false, false)
, _bar_adjustment( 1, 0.001, 1000.0, 1.0, 4.0, 0) , _beat_adjustment( 1, 0.001, 1000.0, 1.0, 4.0, 0)
, _bar_spinner (_bar_adjustment) , _beat_spinner (_beat_adjustment)
, _stretch_toggle (ArdourButton::led_default_elements) , _stretch_toggle (ArdourButton::led_default_elements)
, _abpm_label (ArdourButton::Text) , _abpm_label (ArdourButton::Text)
, _ignore_changes (false) , _ignore_changes (false)
@ -88,20 +88,13 @@ AudioTriggerPropertiesBox::AudioTriggerPropertiesBox ()
row++; row++;
_meter_label.set_text(_("Meter:"));
_meter_label.set_alignment (1.0, 0.5);
bpm_table->attach (_meter_label, 0, 1, row, row + 1, Gtk::FILL, Gtk::SHRINK);
bpm_table->attach (_meter_selector, 1, 4, row, row + 1, Gtk::FILL, Gtk::SHRINK);
row++;
_length_label.set_text(_("Clip Length:")); _length_label.set_text(_("Clip Length:"));
_length_label.set_alignment (1.0, 0.5); _length_label.set_alignment (1.0, 0.5);
_bar_label.set_text(_("(bars)")); _beat_label.set_text(_("(beats)"));
_bar_label.set_alignment (0.0, 0.5); _beat_label.set_alignment (0.0, 0.5);
bpm_table->attach (_length_label,0, 1, row, row + 1, Gtk::FILL, Gtk::SHRINK); bpm_table->attach (_length_label,0, 1, row, row + 1, Gtk::FILL, Gtk::SHRINK);
bpm_table->attach (_bar_spinner, 1, 2, row, row + 1, Gtk::FILL, Gtk::SHRINK); bpm_table->attach (_beat_spinner, 1, 2, row, row + 1, Gtk::FILL, Gtk::SHRINK);
bpm_table->attach (_bar_label, 2, 4, row, row + 1, Gtk::FILL, Gtk::SHRINK); bpm_table->attach (_beat_label, 2, 4, row, row + 1, Gtk::FILL, Gtk::SHRINK);
ArdourWidgets::Frame* eTempoBox = manage (new ArdourWidgets::Frame); ArdourWidgets::Frame* eTempoBox = manage (new ArdourWidgets::Frame);
eTempoBox->set_label("Stretch Options"); eTempoBox->set_label("Stretch Options");
@ -138,13 +131,6 @@ AudioTriggerPropertiesBox::AudioTriggerPropertiesBox ()
using namespace Menu_Helpers; using namespace Menu_Helpers;
_meter_selector.set_text ("??");
_meter_selector.set_name ("generic button");
_meter_selector.set_sizing_text ("4/4");
_meter_selector.AddMenuElem (MenuElem ("3/4", sigc::bind (sigc::mem_fun(*this, &AudioTriggerPropertiesBox::meter_changed), Temporal::Meter(3,4))));
_meter_selector.AddMenuElem (MenuElem ("4/4", sigc::bind (sigc::mem_fun(*this, &AudioTriggerPropertiesBox::meter_changed), Temporal::Meter(4,4))));
_meter_selector.AddMenuElem (MenuElem ("5/4", sigc::bind (sigc::mem_fun(*this, &AudioTriggerPropertiesBox::meter_changed), Temporal::Meter(5,4))));
_stretch_selector.set_text ("??"); _stretch_selector.set_text ("??");
_stretch_selector.set_name ("generic button"); _stretch_selector.set_name ("generic button");
_stretch_selector.set_sizing_text (TriggerUI::longest_stretch_mode); _stretch_selector.set_sizing_text (TriggerUI::longest_stretch_mode);
@ -154,8 +140,8 @@ AudioTriggerPropertiesBox::AudioTriggerPropertiesBox ()
_stretch_toggle.signal_clicked.connect (sigc::mem_fun (*this, &AudioTriggerPropertiesBox::toggle_stretch)); _stretch_toggle.signal_clicked.connect (sigc::mem_fun (*this, &AudioTriggerPropertiesBox::toggle_stretch));
_bar_spinner.set_can_focus(false); _beat_spinner.set_can_focus(false);
_bar_spinner.signal_changed ().connect (sigc::mem_fun (*this, &AudioTriggerPropertiesBox::bars_changed)); _beat_spinner.signal_changed ().connect (sigc::mem_fun (*this, &AudioTriggerPropertiesBox::beats_changed));
} }
AudioTriggerPropertiesBox::~AudioTriggerPropertiesBox () AudioTriggerPropertiesBox::~AudioTriggerPropertiesBox ()
@ -222,7 +208,7 @@ AudioTriggerPropertiesBox::on_trigger_changed (const PBD::PropertyChange& pc)
_length_clock.set (at->current_length ()); // set_duration() ? _length_clock.set (at->current_length ()); // set_duration() ?
} }
if (pc.contains (Properties::tempo_meter) || pc.contains (Properties::follow_length)) { if ( pc.contains (Properties::tempo_meter) || pc.contains (Properties::follow_length)) {
char buf[32]; char buf[32];
sprintf(buf, "%3.2f", at->segment_tempo ()); sprintf(buf, "%3.2f", at->segment_tempo ());
@ -230,9 +216,7 @@ AudioTriggerPropertiesBox::on_trigger_changed (const PBD::PropertyChange& pc)
ArdourWidgets::set_tooltip (_abpm_label, string_compose ("Clip Tempo, used for stretching. Estimated tempo (from file) was: %1", trigger->estimated_tempo ())); ArdourWidgets::set_tooltip (_abpm_label, string_compose ("Clip Tempo, used for stretching. Estimated tempo (from file) was: %1", trigger->estimated_tempo ()));
_meter_selector.set_text (string_compose ("%1/%2", at->meter().divisions_per_bar(), at->meter().note_value())); _beat_adjustment.set_value(at->segment_beatcnt());
_bar_adjustment.set_value(at->segment_barcnt());
} }
if (pc.contains (Properties::stretch_mode) || pc.contains (Properties::stretchable)) { if (pc.contains (Properties::stretch_mode) || pc.contains (Properties::stretchable)) {
@ -244,22 +228,18 @@ AudioTriggerPropertiesBox::on_trigger_changed (const PBD::PropertyChange& pc)
if (follow_widgets_sensitive) { if (follow_widgets_sensitive) {
_stretch_selector.set_sensitive(true); _stretch_selector.set_sensitive(true);
_meter_selector.set_sensitive(true); _beat_spinner.set_sensitive(true);
_bar_spinner.set_sensitive(true); _beat_label.set_sensitive(true);
_bar_label.set_sensitive(true);
_length_label.set_sensitive(true); _length_label.set_sensitive(true);
_meter_label.set_sensitive(true);
_bpm_label.set_sensitive(true); _bpm_label.set_sensitive(true);
_half_button.set_sensitive(true); _half_button.set_sensitive(true);
_dbl_button.set_sensitive(true); _dbl_button.set_sensitive(true);
_abpm_label.set_sensitive(true); _abpm_label.set_sensitive(true);
} else { } else {
_stretch_selector.set_sensitive(false); _stretch_selector.set_sensitive(false);
_meter_selector.set_sensitive(false); _beat_spinner.set_sensitive(false);
_bar_spinner.set_sensitive(false); _beat_label.set_sensitive(false);
_bar_label.set_sensitive(false);
_length_label.set_sensitive(false); _length_label.set_sensitive(false);
_meter_label.set_sensitive(false);
_bpm_label.set_sensitive(false); _bpm_label.set_sensitive(false);
_half_button.set_sensitive(false); _half_button.set_sensitive(false);
_dbl_button.set_sensitive(false); _dbl_button.set_sensitive(false);
@ -271,17 +251,7 @@ AudioTriggerPropertiesBox::on_trigger_changed (const PBD::PropertyChange& pc)
} }
void void
AudioTriggerPropertiesBox::meter_changed (Temporal::Meter m) AudioTriggerPropertiesBox::beats_changed ()
{
TriggerPtr trigger (tref.trigger());
boost::shared_ptr<AudioTrigger> at = boost::dynamic_pointer_cast<AudioTrigger> (trigger);
if (at) {
at->set_segment_meter(m);
}
}
void
AudioTriggerPropertiesBox::bars_changed ()
{ {
if (_ignore_changes) { if (_ignore_changes) {
return; return;
@ -290,7 +260,7 @@ AudioTriggerPropertiesBox::bars_changed ()
TriggerPtr trigger (tref.trigger()); TriggerPtr trigger (tref.trigger());
boost::shared_ptr<AudioTrigger> at = boost::dynamic_pointer_cast<AudioTrigger> (trigger); boost::shared_ptr<AudioTrigger> at = boost::dynamic_pointer_cast<AudioTrigger> (trigger);
if (at) { if (at) {
at->set_segment_barcnt (_bar_adjustment.get_value()); at->set_segment_beatcnt (_beat_adjustment.get_value());
} }
} }

View file

@ -65,7 +65,7 @@ protected:
void meter_changed (Temporal::Meter m); void meter_changed (Temporal::Meter m);
void bars_changed(); void beats_changed();
private: private:
@ -78,13 +78,10 @@ private:
Gtk::Label _bpm_label; Gtk::Label _bpm_label;
Gtk::Label _length_label; Gtk::Label _length_label;
Gtk::Label _bar_label; Gtk::Label _beat_label;
Gtk::Label _meter_label;
ArdourWidgets::ArdourDropdown _meter_selector; Gtk::Adjustment _beat_adjustment;
Gtk::SpinButton _beat_spinner;
Gtk::Adjustment _bar_adjustment;
Gtk::SpinButton _bar_spinner;
ArdourWidgets::ArdourButton _stretch_toggle; ArdourWidgets::ArdourButton _stretch_toggle;